Предположим, что я только что установил подписанный загрузчик EFI (например, grub2 из Ubuntu 14.10 amd64 на Lenovo IdeaPad U410, который может загружаться только в режиме безопасной загрузки EFI или в унаследованном режиме) на машине из системы Linux или (более конкретно) системы на основе Debian. Есть ли способ сказать, что машина будет загружаться изнутри без перезагрузки?

1 ответ1

1

Да, но вы должны иметь ключи Secure Boot под рукой. Во-первых, имейте в виду, что существуют открытые ключи Secure Boot как минимум в трех формах:

  • .cer/.der - эти файлы используются большинством реализаций UEFI, а также инструментом MokManager, который связан с Shim.
  • .crt - Эти файлы изначально используются большинством инструментов безопасности Linux, такими как sbsigntool и sbverify .
  • .esl - эти файлы объединяют несколько ключей в один файл. (Другие файлы содержат один ключ.) Если вы используете встроенный пользовательский интерфейс или KeyTool для сохранения ваших ключей, результирующие файлы будут в этом формате.

Если вы установили свой собственный ключ владельца машины (MOK) с помощью MokManager, файл должен быть в .cer/.der . Если вы хотите проверить, будет ли двоичный файл работать при загрузке с другим ключом (например, ключами, используемыми для подписи Ubuntu или версии GRUB для Fedora), вам придется получить его. Для удобства я собрал несколько с помощью rEFInd; Вы можете скачать их по частям здесь. Если вы получили полный контроль над безопасной загрузкой в вашей системе, у вас также должны быть ключи, которые вы создали.

Чтобы проверить двоичный файл, вы должны иметь ключ в форме .crt . Если у вас есть ключ в форме .der или .cer , вы можете преобразовать его:

openssl x509 -in mykey.cer -inform der -out mykey.crt

Затем вы можете проверить, правильно ли подписан бинарный файл:

sbverify --cert mykey.crt binary.efi

В результате должно появиться сообщение « Signature verification OK или « Signature verification failed .

Обратите внимание, что некоторые UEFI не могут запускать даже правильно подписанные двоичные файлы. Это кажется случайным; Двоичный файл A запустится нормально, тогда как двоичный код B, подписанный тем же ключом, завершится неудачно. Я считаю, что это ошибка в затронутых UEFI, но я не исследовал это подробно. На самом деле, это не влияет на двоичные файлы, проверенные с помощью Shim, но может влиять на сам Shim или исполняемые файлы, запускаемые без помощи Shim.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .