Загрузка с 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:

  1. Вставьте новый USB-накопитель и создайте на нем раздел ext4 с флагом grub_bios (это будет /dev/sdc1) и второй раздел ext4 с флагом загрузки (это будет /dev/sdc2 на котором загрузится GRUB)
  2. Смонтируйте второй раздел так grub-install может создать /boot/grub файлы: mount /dev/sdc2 /mnt
  3. Установите на него GRUB: grub-install --boot-directory=/mnt /dev/sdc
  4. Редактировать файл /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 для некоторых конкретных проблем с видео и беспроводной связью. В вашей ситуации могут возникнуть особые проблемы:

  1. Почему внутренний жесткий диск не виден? Это может быть начальная неисправность материнской платы. Загрузка через USB все еще может работать (на некоторое время дольше), но на жесткий диск, даже в caddy, можно ссылаться.
  2. Caddy может вызвать проблемы с личинкой. Любое упоминание о кэдди на старом HP приводило к зависанию grub на минуту. В grub нет ссылки на caddy, хотя caddy работал нормально в качестве дополнительного хранилища при запуске из другого корня.
Другие вопросы по тегам