Я выполнил процедуры в том, Как загрузиться, загружают ядро с помощью тупика EFI (efistub) загрузчик?.
В моей ситуации включена безопасная начальная загрузка. Таким образом, я немного изменил zz-update-efistub.sh с
cp /$(readlink /vmlinuz).eif.signed /boot/efi/EFI/ubuntu/vmlinuz
Но тем не менее моя машина denys для начальной загрузки из этого изображения.
Проблема, с которой вы сталкиваетесь, является результатом того факта, что ядра Ubuntu (с именами файлов, оканчивающимися на .efi.signed
) подписаны ключом безопасной загрузки Canonical. Этот ключ не включен в прошивку большинства компьютеров и поэтому будет отклонен подсистемами безопасной загрузки большинства компьютеров. (Есть несколько исключений из этого правила. Например, у меня есть материнская плата ASUS P8-H77I, которая поставляется с открытым ключом Canonical, встроенным в стандартную комплектацию. Если бы у вас была такая конфигурация, у вас не возникло бы этой проблемы.) [ 1117]
В общем, у вас есть три варианта:
shimx64.efi
, которая поставляется вместе с Ubuntu, для запуска вашего ядра. Для этого вы должны поместить shimx64.efi
в тот же каталог, что и (переименованное) ядро, и добавить shimx64.efi
в список загрузки (через efibootmgr
), а не в ядро. Еще одна хитрость заключается в том, что вам придется передавать имя файла ядра и опции в shimx64.efi
через соответствующие опции efibootmgr
. Это было бы похоже на команду efibootmgr -c...
на шаге 3 ответа, на который вы ссылались, но программный файл будет shimx64.efi
, а имя файла ядра станет опцией, передаваемой через -u
. Обратите внимание, что не все версии shimx64.efi
поддерживают параметры передачи таким способом. Я не помню точно, когда эта функция была добавлена, но вы должны быть в порядке с последней версией. Обратите внимание, что я никогда не пытался сделать именно это сам, поэтому я не могу предоставить вам пошаговые инструкции; вам, вероятно, придется экспериментировать, чтобы выяснить детали самостоятельно. Это также означает, что есть шанс, что это не сработает, хотя в теории это должно работать. Если вам нужно простое решение, используйте обычный загрузчик или менеджер загрузки. Если вы хотите узнать больше всего, вы, возможно, захотите получить полный контроль над безопасной загрузкой, но имейте в виду, что на этом пути есть много подводных камней, так что это может занять некоторое время, даже с помощью руководство, как тот, который я написал и на который ссылался ранее. Использование Shim - своего рода золотая середина - его легче настроить, чем подход полного контроля, но вы научитесь меньше делать это таким образом.