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

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

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

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

23
задан 11 September 2013 в 10:52

3 ответа

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

sudo update-grub

Но вы также можете добавить раздел загрузки в 40_custom от grub2, который загружает раздел, а не конкретное ядро. Ubuntu устанавливает ссылки в / (root) для загрузки самой последней установки. При необходимости отрегулируйте приведенный ниже пример для своего привода и усилителя. раздел. Загрузочный диск с 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
}

Хотя приведенное выше работает, я считаю, что диск может измениться при подключении флэш-накопителя или любого другого устройства USB. Поэтому я перехожу на использование меток.

menuentry "Cosmic 18.10 on sdb12 test" {
    search --set=root --label cosmic_b --hint hd2,gpt12
    configfile /boot/grub/grub.cfg 
}
0
ответ дан 11 September 2013 в 10:52

Я узнал, как использовать UUID диска, полезно, если у вас есть несколько дисков, подключенных во время загрузки. Кредиты Олдфреду для его заметки о /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
}
0
ответ дан 11 September 2013 в 10:52

Загружаться от записи меню Ubuntu Live USB в /etc/grub.d/40_custom должно быть похожим на это ( Замена DRIVE_UUID с uuid Вашего раздела):

menuentry "Boot from LIVE USB Drive" {
   search --set=root --fs-uuid DRIVE_UUID
   linux ($root)/casper/vmlinuz boot=casper quiet splash --
   initrd ($root)/casper/initrd.lz
}

Для применения выполненных изменений:

sudo update-grub
2
ответ дан 10 October 2019 в 10:56

Другие вопросы по тегам:

Похожие вопросы: