Добавить раздел EFI в меню BIOS после сброса NVRAM

Добавить раздел EFI в меню BIOS после сброса NVRAM

Сначала все было хорошо, на моем SSD 2 раздела EFI, и я обычно переключаюсь между ОС с помощью клавиши f12, оставляя Linux по умолчанию. Но после того, как я очистил NVRAM, менеджер загрузки Windows появился, а Linux EFI исчез. Как добавить его обратно в меню загрузки?

решение1

Я предполагаю, что менеджер загрузки Windows также исчез, но либо прошивка UEFI включала код для автоматического его возвращения обратно, либо Windows сначала загрузилась с использованием резервного пути загрузчика UEFI ( \EFI\boot\bootx64.efi) и добавила нужную переменную загрузки NVRAM обратно в качестве полностью автоматизированной операции «самовосстановления».

Это проще всего исправить с помощью загрузочного носителя Linux Live Boot.Собственный режим UEFI. Это позволит вам использовать efibootmgrкоманду.

После загрузки Linux с живого носителя вам следует сначала смонтировать системный раздел EFI (ESP для краткости) установки Linux в обычное расположение вашего дистрибутива Linux (обычно /boot/efi, но некоторые дистрибутивы могут использовать просто /boot). Затем вам следует найти каталог загрузчика UEFI как /boot/efi/EFI/<name of your Linux distribution>/и файлы как shimx64.efiи/или bootx64.efiв этом каталоге. Там могут быть и другие файлы.

Если каталог загрузчика содержит shimx64.efi, используйте его в качестве <bootloader file>на следующем шаге; если нет, используйте, grubx64.efiесли он существует.

Предполагая, что Linux ESP находится на диске /dev/sda, efibootmgrкоманда для воссоздания загрузочной записи в меню прошивки будет следующей:

efibootmgr -c -d /dev/sda -l \\EFI\\<name of your distribution>\\<bootloader file> -L "<the name you want to see in the firmware menu>"

Поскольку у вас несколько ESP на одном диске, вам, возможно, придется указать правильное имя устройства ESP, а не просто указать диск (т. е. что-то вроде -d /dev/sda5вместо просто -d /dev/sda).

После этого используйте efibootmgr -vдля просмотра параметров загрузки. Возможно, вам придется либо использовать , efibootmgr --bootorderчтобы изменить порядок загрузки, сделав Linux по умолчанию, либо посетить настройки BIOS, чтобы сделать то же самое (некоторые прошивки UEFI могут отклонять изменения порядка загрузки, сделанные с помощью efibootmgr --bootorder— это, вероятно, ошибка прошивки).

Если вы хотите, чтобы Linux был «выживающей ОС» при сбросе NVRAM, вы можете переустановить UEFI GRUB, используя эту --force-extra-removableопцию после успешной загрузки ОС, с помощью следующей команды:

sudo grub-install --force-extra-removable --uefi-secure-boot /dev/sda

(Если в вашей системе отключена функция безопасной загрузки и вы планируете оставить ее отключенной, вы можете пропустить эту --uefi-secure-bootопцию, если хотите.)

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