Как сравнить ключи безопасной загрузки, хранящиеся в базе данных прошивки материнской платы, с подписанными файлами .efi?

Как сравнить ключи безопасной загрузки, хранящиеся в базе данных прошивки материнской платы, с подписанными файлами .efi?

Включить безопасную загрузку в виртуальной машине проще простого, но я пытаюсь сделать то же самое с OpenSUSE на моем компьютере 2012 года, который отказывается загружаться в режиме безопасной загрузки даже в стандартной конфигурации (кажется, с ключами Microsoft). Я хотел бы устранить неполадки в самой важной части: совпадают ли ключи между прошивкой и shim? Как это проверить?

решение1

Что такое безопасная загрузка?

ЦитатаЧастица.io:

...Безопасная загрузка относится к процессу аутентификации прошивки и операционной системы устройства с помощью известного безопасного криптографического ключа, размещенного на устройстве во время производства. Эта аутентификация происходит каждый раз при загрузке устройства, чтобы подтвердить, что загружаемая прошивка или код являются законной версией, размещенной там тем, кто ее произвел.

Цитата выше и ссылка относятся к устройствам IoT. Цитата по-прежнему справедлива для ПК, если мы считаем их «вещами». В случае вопроса OP возраст устройства не имеет значения, поскольку предпосылка цитаты была той же в 2012 году, что и сейчас. Я собираюсь начать остальную часть этого ответа по устранению неполадок, используя предположение, что хранилище ключей необходимо «сбросить», что OP уже сделал, но я делаю это для блага будущих посетителей.

Подробные шаги

Давайте составим пронумерованный список того, что нам нужно сделать, чтобы разбить эту задачу на более мелкие части:

  1. Следить за публикациямиКак работает Secure Boot в Linux с учетом SuSE. Примечание: Реализация по этой ссылке в 2012 году в значительной степени соответствует тому, как все дистрибутивы реализовали безопасную загрузку.
    • Для простоты я опубликую «суть» этой статьи (для тех из вас, кто читает бегло), поскольку это основная проблема, с которой столкнулся автор): Блок-схема для SecureBoot
  2. Сбросьте прошивку Mac до заводских настроек по умолчаниювыполнение сброса PRAM
  3. Используйте эти шагиизложено Родериком Смитом
    • Шаг 3 можно упростить, если OpenSuSE Live ISO включает в себя программу MokManager или программу MokUtil.
  4. Зарегистрируйте нужный вам ключ в базе данных MOK.
    • Необязательно: Если вы выполните указанные выше шаги (пункты 3 и 4), вы в конечном итоге зарегистрируете как ключ rEFInd, так и ключ SuSE. Если вы планируете двойную загрузку OSX и OpenSuSE, я рекомендую использовать этот Boot Manger. Если вы планируете использовать только OpenSuSE, вам нужно зарегистрировать только этот сертификат.
  5. Теперь он shimдолжен знать о новых ключах и правильно передать процесс Grub2, а Grub 2 загрузит OpenSuSE.

Что делать, если вышеуказанные шаги не дали результата

См. раздел «Устранение неполадок»Установить openSUSE на Mac. В качестве догадки, снова цитирую Родерика Смита:

Некоторые реализации EFI (в основном до 2014 года) плохо справляются с реализацией параметров загрузки, установленных через efibootmgr Linux или другие инструменты. У вас также может не быть доступа к таким утилитам, например, если вам нужно установить rEFInd в Windows. В таких случаях вам может потребоваться изменить имя загрузчика, чтобы EFI увидел его как загрузчик по умолчанию. rEFInd должен загружаться, когда в вашей NVRAM отсутствует информация о конкретных загрузчиках для использования.

shim<arch>.efiВ приведенном выше случае переименуйте файл OpenSuSE в boot<arch>.efiи поместите его в BOOTкаталог (если каталога нет BOOT, поместите его в корень), где archнаходится x32или x64 Если этот метод работает, прошивка OP поддерживает загрузку только из одного файла. Смотрите:Альтернативные варианты именования.

Кстати, исправления вроде этого нужны даже на новых системах. Смотрите:Обновите NVRAM, чтобы запустить shimx64.efi вместо grubx64.efi в системе Debian для безопасной загрузки.. Я чувствую боль автора поста в этом отношении.

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