
Сначала все было хорошо, на моем 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
опцию, если хотите.)