Загрузка с USB, но запуск на вспомогательном жестком диске
Здесь нам сделка. У меня есть Dell Vostro 1700, который мне дал друг, потому что он умер.
В ходе расследования я обнаружил, что он больше не распознает внутренние жесткие диски, а нормально загружается с компакт-диска Ubuntu или с Ubuntu на USB-накопителе. В настоящее время он работает от USB, но мучительно медленно. У меня есть caddy, который заменяет оптический привод на жесткий диск, но он не распознается как загрузочный диск, поэтому я могу установить Ubuntu на жесткий диск, и ноутбук прекрасно работает, пока я не выключусь. Поэтому я хотел бы загрузить его с флэш-накопителя USB, а затем запустить с жесткого диска в компакт-диске. Возможно ли это и как бы вы это сделали?
Я делаю это как проект, чтобы учиться и просто потому.
1 ответ
Я мог бы решить ту же проблему с помощью следующего метода.
Я учту это до конца статьи (измените его в соответствии с вашей собственной конфигурацией):
- жесткий диск
sda
а загрузочный разделsda1
(что соответствует(hd1,gpt1)
в GRUB,(hd0)
являясь GRUB USB) /dev/sda1
содержит/boot/vmlinuz
ядро и/boot/initrd.img
диск- загрузочный USB Ubuntu
sdb
под Ubuntu Live - будущий GRUB USB
sdc
под Ubuntu Live
Загрузитесь с USB-накопителя Ubuntu Live:
- Вставьте новый USB-накопитель и создайте на нем раздел ext4 с флагом grub_bios (это будет
/dev/sdc1
) и второй раздел ext4 с флагом загрузки (это будет/dev/sdc2
на котором загрузится GRUB) - Смонтируйте второй раздел так
grub-install
может создать/boot/grub
файлы:mount /dev/sdc2 /mnt
- Установите на него GRUB:
grub-install --boot-directory=/mnt /dev/sdc
- Редактировать файл
/mnt/grub/grub.cfg
со следующим содержанием:
set root=(hd1,gpt1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd.img
boot
Перезагрузитесь на GRUB USB, и он должен загружать ваш жесткий диск.
РЕДАКТИРОВАТЬ: Согласно комментарию @kenn: лучше использовать UUID или метки разделов вместо прямых ссылок на жесткий диск. UUIDS (и ярлыки) доступны в вашем Ubuntu Live в разделе
/dev/disk/by-partuuid
или
/dev/disk/by-partlabel
. Затем используйте в своем
grub.cfg
:
linux /boot/vmlinuz root=PARTUUID=<partition UUID>
или:
linux /boot/vmlinuz root=PARTLABEL=<partition label>
В общем, можно загружаться с USB и работать с жесткого диска. Установите на диск caddy, установите снова на другой USB и отредактируйте команды загрузки grub USB в /boot/grub/grub.cfg, чтобы указать диск caddy. Хитрость заключается в том, чтобы выяснить, какую букву получит кэдди, когда присутствует только один USB. См. http://www.linlap.com/dell_vostro_1700 для некоторых конкретных проблем с видео и беспроводной связью. В вашей ситуации могут возникнуть особые проблемы:
- Почему внутренний жесткий диск не виден? Это может быть начальная неисправность материнской платы. Загрузка через USB все еще может работать (на некоторое время дольше), но на жесткий диск, даже в caddy, можно ссылаться.
- Caddy может вызвать проблемы с личинкой. Любое упоминание о кэдди на старом HP приводило к зависанию grub на минуту. В grub нет ссылки на caddy, хотя caddy работал нормально в качестве дополнительного хранилища при запуске из другого корня.