Как загрузиться, загружают ядро с помощью тупика EFI (efistub) загрузчик с безопасной начальной загрузкой?

Я выполнил процедуры в том, Как загрузиться, загружают ядро с помощью тупика EFI (efistub) загрузчик?.

В моей ситуации включена безопасная начальная загрузка. Таким образом, я немного изменил zz-update-efistub.sh с

cp /$(readlink /vmlinuz).eif.signed /boot/efi/EFI/ubuntu/vmlinuz

Но тем не менее моя машина denys для начальной загрузки из этого изображения.

0
задан 22 August 2017 в 15:58

1 ответ

Проблема, с которой вы сталкиваетесь, является результатом того факта, что ядра Ubuntu (с именами файлов, оканчивающимися на .efi.signed) подписаны ключом безопасной загрузки Canonical. Этот ключ не включен в прошивку большинства компьютеров и поэтому будет отклонен подсистемами безопасной загрузки большинства компьютеров. (Есть несколько исключений из этого правила. Например, у меня есть материнская плата ASUS P8-H77I, которая поставляется с открытым ключом Canonical, встроенным в стандартную комплектацию. Если бы у вас была такая конфигурация, у вас не возникло бы этой проблемы.) [ 1117]

В общем, у вас есть три варианта:

  • Полный контроль над безопасной загрузкой - вы можете получить полный контроль над безопасной загрузкой и установить любые ключи безопасной загрузки. тебе нравится. Если вы добавите ключ Canonical, вы сможете напрямую запускать подписанные ядра Ubuntu. Хотя этот процесс утомителен. Подробнее о том, как это сделать, см. на моей веб-странице по этому вопросу. Короче говоря, вам нужно сгенерировать свои собственные ключи, удалить текущий набор ключей вашего компьютера, добавить свои собственные ключи, добавить ключ Canonical и, при желании, добавить любые другие ключи, которые вы, возможно, захотите использовать (например, ключи Microsoft). Есть несколько способов сделать это, некоторые из которых основаны на собственном пользовательском интерфейсе прошивки, и поэтому не могут быть описаны со 100% точностью в общем виде.
  • Используйте Shim - Вы можете использовать программу shimx64.efi, которая поставляется вместе с Ubuntu, для запуска вашего ядра. Для этого вы должны поместить shimx64.efi в тот же каталог, что и (переименованное) ядро, и добавить shimx64.efi в список загрузки (через efibootmgr), а не в ядро. Еще одна хитрость заключается в том, что вам придется передавать имя файла ядра и опции в shimx64.efi через соответствующие опции efibootmgr. Это было бы похоже на команду efibootmgr -c... на шаге 3 ответа, на который вы ссылались, но программный файл будет shimx64.efi, а имя файла ядра станет опцией, передаваемой через -u. Обратите внимание, что не все версии shimx64.efi поддерживают параметры передачи таким способом. Я не помню точно, когда эта функция была добавлена, но вы должны быть в порядке с последней версией. Обратите внимание, что я никогда не пытался сделать именно это сам, поэтому я не могу предоставить вам пошаговые инструкции; вам, вероятно, придется экспериментировать, чтобы выяснить детали самостоятельно. Это также означает, что есть шанс, что это не сработает, хотя в теории это должно работать.
  • Используйте более обычную настройку - ИМХО, запуск ядра напрямую, как вы пытаетесь, не очень хороший подход, даже без Secure Boot на картинке. Хотя использование GRUB, rEFind или другого загрузчика или менеджера загрузки технически является сложным процессом загрузки, эти загрузочные программы предоставляют инструменты для управления процессом загрузки, которые упрощают фактическую настройку . Таким образом, лучше использовать один из этих инструментов, ИМХО. Если у вас есть особый интерес к GRUB, вы можете поделиться этим; Вполне возможно, что другая загрузочная программа решит вашу проблему. Если вы просто делаете это как учебное упражнение, то запуск ядра имеет свои преимущества. Вы наверняка узнаете что-нибудь о процессе загрузки EFI и, в вашем случае, о безопасной загрузке, запустив его.

Если вам нужно простое решение, используйте обычный загрузчик или менеджер загрузки. Если вы хотите узнать больше всего, вы, возможно, захотите получить полный контроль над безопасной загрузкой, но имейте в виду, что на этом пути есть много подводных камней, так что это может занять некоторое время, даже с помощью руководство, как тот, который я написал и на который ссылался ранее. Использование Shim - своего рода золотая середина - его легче настроить, чем подход полного контроля, но вы научитесь меньше делать это таким образом.

1
ответ дан 2 November 2019 в 09:37

Другие вопросы по тегам:

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