Как запросить подпись EFI

Похоже, что Grub-EFI загрузит только «подписанное» ядро ​​Linux. Есть ли какая-нибудь команда, которая позволит мне запросить заданный образ ядра, чтобы узнать, какие подписи (если есть) присутствуют на нем?

2 Solutions collect form web for “Как запросить подпись EFI”

Это зависит от того, какую подпись вы говорите. Если у вас есть система EFI, вы можете подписаться на исполняемые файлы EFI ( *.efi ) и заставить свою прошивку EFI выполнять только те, у которых есть известная подпись. Это называется Secure Boot . Чтобы проверить двоичный файл EFI для подписи, вы можете использовать инструмент sbverify :

 $ sbverify --no-verify signed-binary.efi Signature verification OK $ sbverify --no-verify unsigned-binary.efi No signature table present Unable to read signature data from unsigned-binary.efi Signature verification failed 

К сожалению, я не видел простой способ извлечения и отображения подписи EFI. 🙁

Скорее всего, именно то, что вы ищете, – это способность GRUB проверять свои модули и ядра на загрузку для действительных подписей (Secure Boot просто влияет на сам GRUB, все загрузки GRUB необязательно должны быть подписаны EFI). Это (насколько я понимаю) простые старые отделившиеся подписи GPG (например, для ядра под названием vmlinuz-1.2.3 вас будет файл vmlinuz-1.2.3.sig с сигнатурой). Они могут просто отображаться и проверяться с помощью

 $ gpg --verify vmlinuz-1.2.3.sig vmlinuz-1.2.3 gpg: Signature made Tue Apr 1 12:34:56 2014 CEST using RSA key ID d3adb33f gpg: Good signature from "John Doe <john.doe@nonexistent.foo>" 

Если у вас нет файла *.sig для вашего ядра, он явно не подписан.

Вы можете отключить проверку подписи в GRUB, введя set check_signature=no в командной строке GRUB. Здесь вы можете получить дополнительную информацию по этой теме (эта функциональность довольно новая, и на официальном веб-сайте GRUB есть только руководство для версии 2.00 в Интернете, в которой отсутствует эта функция). Это также объясняет, как подписать ваши модули и ядро ​​своим ключом и рассказать GRUB об этом.

Используя информацию, предоставленную Андреасом, я смог выяснить следующее:

В рабочей системе как сам Grub-EFI, так и ядро Linux подписаны с тем же ключом. В нерабочей системе ни Grub, ни ядро ​​Linux не подписаны. Когда я пытаюсь скопировать ядро ​​Linux из одной системы в другую, Grub жалуется, что ядро ​​не подписано. Отсутствует деблокированная подпись GPG; похоже, Grub ищет то же самое, что ищет Secure Boot – внутренняя подпись PE.

Теперь, если я могу просто выяснить, как заставить OpenSUSE подписать свою 32-разрядную версию ядра Linux …

  • Увеличивает ли UEFI время автономной работы?
  • Можно ли добавить Windows в мой загрузчик systemd-boot, если у меня есть отдельные разделы EFI?
  • Черный экран после загрузки в установке UEFI Arch Linux
  • Как я могу предотвратить перезагрузку update-grub существующего загрузчика?
  • Система не загружается после исчерпания батареи в соответствии с политикой запуска «Все UEFI»
  • Как воссоздать загрузочный раздел EFI?
  • UEFI + BIOS загрузочный live Debian растяжка amd64 с сохранением
  • вопрос производительности linux kvm
  • как добиться оптимального выравнивания для раздела emmc?
  • Создайте Archiso с надлежащей подписью UEFI SecureBoot
  • Нужен ли загрузочный раздел в UEFI & Luks?
  • Linux и Unix - лучшая ОС в мире.