Как работают несколько загрузчиков на системном разделе EFI

Как работают несколько загрузчиков на системном разделе EFI

Мой ESP выглядит так

Boot Dell fedora Microsoft

В каталоге Boot есть загрузчик с именем , bootx64.efiкоторый, как я понимаю, является загрузчиком по умолчанию, который запускается первым. Но в каталоге fedora есть еще один загрузчик (grub2) с именем grubx64.efi.

Какова функция каждого из этих загрузчиков? Какой из них обеспечивает boot-menu?

решение1

bootx64.efiне начинается первым. Чаще всего он вообще не начинается.

Прошивка EFI имеет свое собственное «меню загрузки», аналогичное меню, представленному GRUB, но на более раннем этапе процесса загрузки. Так же, как GRUB позволяет вам выбрать, какое ядро ​​Linux запустить, меню загрузки EFI позволяет вам выбрать, какую программу загрузки EFI запустить — выбор может быть как сам GRUB, так и загрузчик Windows. (И, как и меню GRUB, меню загрузки EFI обычно не отображается по умолчанию; вам нужно нажать горячую клавишу во время запуска, чтобы увидеть его.)

Записи в меню загрузки EFI определяются данными конфигурации, которые хранятся в NVRAM материнской платы (память «настроек BIOS»). Эта конфигурация не хранится в файле, но в Fedora вы должны иметь возможность увидеть ее с помощью программы efibootmgr. Каждая запись содержит понятное человеку имя (для отображения в меню) и путь к загрузочной программе в системном разделе EFI, а также номер приоритета, который определяет, какая запись загружается по умолчанию, когда вы не нажимаете горячую клавишу для просмотра меню.

Эти записи загрузки NVRAM (обычно) создаются установщиками операционных систем. Когда вы устанавливаете ОС и она помещает файл загрузчика в системный раздел EFI, она также добавляет запись в конфигурацию NVRAM, чтобы новый загрузчик был доступен в меню загрузки EFI. (Во многих случаях она также делает эту новую запись по умолчанию, так что только что установленная вами ОС будет загружаться сама по себе, без необходимости открывать меню загрузки EFI и вручную выбирать ее.)

Программа Boot/bootx64.efiявляется резервным вариантом, когда EFI не был настроен с загрузочными записями NVRAM, которые ссылаются на другие загрузочные программы на диске. Это важно для сменных носителей, таких как загрузочные компакт-диски и USB-накопители, но на жестком диске это, как правило, не используется. Установщик Windows создает Boot/bootx64.efiкак отказоустойчивый; Это просто копия Microsoft/Boot/bootmgfw.efi(по крайней мере, в Windows 7; я не знаю о других версиях).

В моих системах я заменил Microsoft bootx64.efiна копиюОболочка EFI, так что если я каким-то образом обнаружу, что у меня нет никаких загрузочных записей NVRAM и мне придется полагаться на резервный загрузчик, я перейду в оболочку, где смогу изучить ситуацию и вручную запустить одну из других загрузочных программ вместо того, чтобы система просто автоматически загружала Windows. (Я также добавил для этого запись в меню GRUB, чтобы у меня была возможность запустить оболочку EFI, даже если система работает правильно.)

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