Как создать grub для полностью переносимого Linux на USB-флешке без записи записи в системный EFI?

Как создать grub для полностью переносимого Linux на USB-флешке без записи записи в системный EFI?

Я установил Debian Bullseye на USB-флешку. Когда я вставил флешку, ноутбук загрузился с нее, потому что в UEFI была запись "debian". После ее извлечения с sudo efibootmgr -b <boot entry number> -Bфлешки она больше не загружалась после выбора ее из UEFI bootmanager. Она больше не загружалась, потому что UEFI использовала загрузочную запись Windows Bootmanager по умолчанию.

После этого я использовал систему Ubuntu Live и выпустил

sudo mount /dev/sdXY /mnt
sudo mount /dev/sdXX /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
sudo chroot /mnt
grub-install --no-nvram --removable /dev/sdX
update-grub  

как описано здесьhttps://askubuntu.com/a/831241и добавление опций --no-nvram --removable, см.https://www.systutorials.com/docs/linux/man/8-grub-install/.

При выборе флэш-накопителя сейчас из менеджера загрузки EFI он загружается, но отображается сообщение "Boot option restauration", которое можно отменить в течение примерно 6 секунд. После этого система перезагружается, затем загружается grub и система загружается. Однако теперь снова debianв системе UEFI.

Использовать --no-nvramили нет, не имеет значения. Для загрузки с этого флеш-накопителя есть запись в UEFI. Как это можно предотвратить? При загрузке с носителя Acronis или носителя Ubuntu Live с флеш-накопителя USB загрузка происходит без изменения таблицы загрузочных записей UEFI системы. Так что это должно быть возможно.

Обновление: Вы можете нажать любую клавишу, а затем выбрать продолжить загрузку без сброса системы и всегда продолжать загрузку. Тогда окно "Boot option restauration" больше не отображается, вместо этого сразу отображается grub, но ОС все равно записывается в порядок загрузки UEFI.

решение1

Если ваш USB отформатирован как fat (или vfat), вам просто нужен каталог /EFI на нем и установите grub туда. Ему не нужен отдельный раздел EFI, если только он не отформатирован как fat.

BIOS не должен знать об этой записи EFI, поэтому вам не нужно устанавливать ее с помощью efibootmgr. Однако вам может потребоваться указать BIOS загружать USB, либо вручную (выбирая его при каждой загрузке из меню ручной загрузки), либо поместив USB в порядок загрузки.

Связанный контент