В чем разница между grubx64 и shimx64?

27

Я новичок в Linux. Я загрузил Ubuntu на свой Mac и загружаю его с помощью rEFInd. Я вижу два варианта:

  1. EFI\ubuntu\grubx64.efi
  2. EFI\ubuntu\shimx64.efi

Они оба загружаются в Ubuntu.

В чем разница между этими двумя и какой я должен использовать? Я сделал что-то неправильно, что заставило обоих появиться?

user190735
источник
1
привет, shimx64.efi - это опция безопасной загрузки
mojo706
@ mojo706 Я рекомендую опубликовать (может быть, немного) расширенную версию этого в качестве ответа.
Элия ​​Каган
На Fedora Core есть еще и третий файл shimx64-fedora.efi:)
Ярослав Никитенко

Ответы:

36

Как правило, EFI/ubuntu/grubx64.efiна системном разделе EFI (ESP) находится двоичный файл GRUB и EFI/ubuntu/shimx64.efiдвоичный файл для прокладки. Последняя представляет собой относительно простую программу, которая обеспечивает способ загрузки на компьютере с активной безопасной загрузкой. На таком компьютере неподписанная версия GRUB не будет запущена, и подписание GRUB с помощью ключей Microsoft невозможно, поэтому shim устраняет пробел и добавляет собственные инструменты безопасности, которые аналогичны Secure Boot. На практике shim регистрируется в микропрограмме, а затем запускает программу, которая называется grubx64.efiв каталоге, из которого она была запущена, поэтому запуск на компьютере без Secure Boot (например, Mac) shimx64.efiаналогичен запуску grubx64.efi. На компьютере с активной безопасной загрузкой запуск shimx64.efiдолжен привести к запуску GRUB, тогда как запускgrubx64.efi напрямую наверное не сработает.

Обратите внимание, что возможна некоторая неопределенность. В частности, если вы хотите использовать менеджер загрузки или загрузчик, отличный от GRUB, в среде безопасной загрузки с shim, вы должны вызвать эту программу grubx64.efi, даже если это не GRUB. Таким образом, если вы установите rEFInd на компьютере с безопасной загрузкой, это grubx64.efiможет быть двоичный файл rEFInd. Этот двоичный файл, вероятно, не будет находиться EFI/ubuntu, однако; и он, и бинарная подушка, вероятно, вошли бы EFI/refind. Кроме того, поскольку у вас есть Mac (который не поддерживает безопасную загрузку), нет необходимости устанавливать rEFInd таким образом; гораздо разумнее установить rEFInd как EFI/refind/refind_x64.efi(его расположение и имя по умолчанию).

Обратите внимание, что документация rEFInd включает в себя целую страницу по безопасной загрузке. Скорее всего, вы не выиграете от его чтения, user190735, так как вы используете Mac. Я упоминаю об этом только в том случае, если придет какой-то другой читатель, который пытается использовать rEFInd в сочетании с Secure Boot.

Род Смит
источник
Хорошее приложение, добавьте эту ссылку тоже wiki.ubuntu.com/SecurityTeam/SecureBoot
r 7dʒɑ
1
MS тогда подписал shimx64.efi?
Мэтт Фрэман
4
Да, Microsoft подписала shimx64.efi- по крайней мере, версию, которую Ubuntu устанавливает на компьютеры с безопасной загрузкой. (Доступны также неподписанные двоичные файлы Shim; или вы можете установить свои собственные ключи Secure Boot и подписать shimx64.efiсебя, чтобы получить полный контроль над процессом безопасной загрузки вашего компьютера.
Rod Smith