Как добавить пункт меню GRUB2 для загрузки установленного Ubuntu на USB-накопитель?

19

Я не спрашиваю, как загрузить LiveCD с USB.

У меня есть 2 установки Ubuntu, один на внутреннем жестком диске моего компьютера, а другой на USB-накопителе.

Есть ли способ добавить запись меню GRUB2 (в GRUB на моем внутреннем жестком диске) для загрузки ОС Ubuntu, которые я установил на флэш-накопитель USB и , есть тот же пункт меню все еще работают после того, как я обновил ядро ​​Linux при установке USB?

    
задан minerz029 11.09.2013 в 06:41
источник

2 ответа

7

Я узнал, как использовать UUID диска, полезно, если у вас несколько подключенных дисков во время загрузки. Кредиты для oldfred за его заметку о символических ссылках /vmlinux и /initrd.img .

Добавьте это в файл /etc/grub.d/40_custom , заменив UUID=XXXX-YYYY на UUID раздела (получите UUID с командой blkid )

menuentry "Boot from USB Drive" {
    set root=UUID=XXXX-YYYY
    linux /vmlinuz root=UUID=XXXX-YYYY ro quiet splash
    initrd /initrd.img
}
    
ответ дан minerz029 12.09.2013 в 10:46
источник
23

Каждый раз, когда вы обновляете ядро ​​на внешнем устройстве, вы можете запустить его для обновления строфы загрузки в grub на внутреннем диске.

sudo update-grub

Но вы также можете добавить загрузочную строфу в 40_custom grub2, который загружает раздел, а не конкретное ядро. Ubuntu устанавливает ссылки в / (root) для загрузки последней установки. При необходимости отрегулируйте пример ниже на вашем диске и amp; раздел. Загрузочный диск с grub всегда hd0, но затем другие диски находятся в порядке, указанном в BIOS, который может меняться.

Изменить с помощью:

gksudo gedit /etc/grub.d/40_custom

затем добавьте:

menuentry "Install on sdb1" {
    set root=(hd1,1)
    linux /vmlinuz root=/dev/sdb1 ro quiet splash
    initrd /initrd.img
}
    
ответ дан oldfred 11.09.2013 в 17:25