EFI\boot\bootx64.efi против EFI\ubuntu\grubx64.efi против /boot/grub/x86_64-efi/grub.efi против C:\Windows\Boot\EFI\*

Решение было простым. Он работал с sudo apt-get install linux-headers-4.12.0-kali2-all. Используйте uname -r, чтобы узнать, какой пакет вам нужен. Также обратите внимание, что вам может понадобиться изменить разрешения VBoxLinuxAdditions:chmod 777 VBoxLinuxAdditions.run.

12
03.03.2020, 17:05
1 ответ

EFI\boot\bootx64.efi: Путь к резервному загрузчику

Это единственный путь к загрузчику, который прошивка UEFI на 64 -битных системах X86 будет искать без каких-либо предварительных -существующих настроек загрузки NVRAM, так что это то, что вы хотите использовать на съемных носителях.

Windows автоматически установит копию своего загрузчика по этому пути; при установке GRUB командаgrub-install(или grub2-installв зависимости от дистрибутива Linux )также может поместить сюда копию соответствующего загрузчика, если он еще не существует. Если вы хотите, вы можете использовать grub-install --removable, чтобы указать ему установить на резервный путь загрузки, или grub-install --force-extra-removable, чтобы перезаписать любой существующий загрузчик в резервном пути и заменить его GRUB.

Если вы хотите создать безопасную загрузку -, совместимую с USB-накопителем для UEFI, вы должны поместить копию оболочки как EFI\boot\bootx64.efiи копию GRUB как EFI\boot\grubx64.efi, так как загрузчик оболочки будет искатьgrubx64.efiв том же каталоге, в котором находится загрузчик прокладки.

Путь загрузчика для постоянно установленной ОС

Когда операционная система постоянно устанавливается в систему UEFI, появляется один новый шаг, которого абсолютно не было в классическом BIOS. При установке загрузчика в память NVRAM записываются четыре вещи, содержащие настройки прошивки:

  • Путь к загрузчику в системном разделе EFI (ESP ), который содержит загрузчик (s)
  • GUID раздела ESP
  • описательное (человеческое -понятное )имя для этого конкретного экземпляра загрузчика
  • опционально некоторые данные для загрузчика

Для Windows стандартным путем UEFI для процесса загрузки Windows будет \EFI\Microsoft\Boot\bootmgfw.efi, а описательным именем будет «Диспетчер загрузки Windows». Необязательные данные, похоже, содержат ссылку GUID на что-то в файле конфигурации BCD загрузчика Windows.

Для Ubuntu путь должен быть \EFI\Ubuntu\grubx64.efi, если вам не нужна поддержка безопасной загрузки,или \EFI\Ubuntu\shimx64.efi, если используется прокладка безопасной загрузки. Описательное имя — просто «ubuntu», а дополнительные данные не используются.

В Ubuntu эти параметры загрузки UEFI NVRAM можно просмотреть с помощью команды sudo efibootmgr -v; в Windows вы можете запустить командную строку от имени администратора , а затем использовать команду bcdedit /enum firmwareдля просмотра настроек.

Спецификация UEFI имеет стандартное соглашение о том, что каждый поставщик должен размещать загрузчик для постоянно установленной ОС по пути \EFI\<vendor name>в ESP, поэтому фактически поддерживается наличие нескольких загрузчиков UEFI co -в одном ESP. должно быть проще, чем с классическим BIOS, который имел одну главную загрузочную запись на диск.

/boot/grub/x86_64-efi/grub.efi:временный файл дляgrub-install

При использовании grub-installсначала будет использоваться утилита grub-mkimageдля создания образа ядра GRUB:в системе UEFI, этот файл будет сохранен в /boot/grub/x86_64-efi/grub.efiи/или .../core.efi. ], прежде чем он будет скопирован в системный раздел EFI и добавлен в параметры загрузки UEFI NVRAM с помощью grub-install. Копия в /boot/grub/x86_64-efi/*.efiвообще не будет использоваться в процессе загрузки, но может быть полезна, если ESP по какой-либо причине будет поврежден.

Примечание.:В Debian/Ubuntu сгенерированный образ ядра GRUB будет включать запеченную ссылку -в UUID на любую файловую систему, содержащую каталог /boot, поэтому вы не сможете просто сделать копию либо /boot/grub/x86_64-efi/grub.efiили grubx64.efiиз ESP и перенесите его на съемный носитель :, он просто попытается найти уникальный UUID вашей файловой системы /bootи перейдет в режим восстановления, если не найдет его. Если я правильно помню, GRUB RedHat/CentOS/Fedora должен больше подходить для переноса на съемные носители.

Безопасная загрузка:shimx64.efiи ее причины

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

К сожалению, многие поставщики систем включают в свои продукты только несколько сертификатов безопасной загрузки :, зачастую только собственный сертификат поставщика (для обновлений встроенного ПО и средств отладки оборудования/конфигурации OEM )и сертификаты безопасной загрузки Microsoft. Некоторые системы позволяют редактировать список сертификатов безопасной загрузки через настройки встроенного ПО (= "Настройки BIOS" ), а другие — нет. Поэтому требовалось независимое решение.

Microsoft предлагает услугу подписи загрузчика UEFI для всех, но, по крайней мере, первоначально время выполнения подписи было довольно долгим, поэтому требование подписывать каждую версию GRUB напрямую вызвало бы неприемлемые задержки в обновлениях загрузчика. Чтобы решить эту проблему, был разработан загрузчик shim :. По сути, это простейшая разумная программа UEFI, которая добавит один или несколько сертификатов в список разрешенных для безопасной загрузки. Мы надеемся, что простота уменьшит потребность в обновлении самой оболочки, поэтому дистрибутивы ОС с открытым -исходным кодом (Linux и другие )могут просто получить свою версию оболочки, подписанную Microsoft только один раз, а затем подписать любую версию GRUB со своими собственными сертификатами, общедоступная часть которых встроена в прокладку и позволяет Secure Boot принимать версию GRUB из дистрибутива.

20
28.04.2021, 23:24

Теги

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