Как правильно установить systemd-boot?

Как правильно установить systemd-boot?

Из любопытства я пробую systemd-boot на моем ноутбуке с UEFI с безопасной загрузкой. Установка GRUB по умолчанию работает нормально.

Для systemd-boot большинство поисков приводят кэта страница. Это включает установку systemd-boot с bootctl, создание loader.conf, создание скрипта ядра postinst zz-update-systemd-boot. Все выглядит хорошо до этого момента, хотя я не понимаю, почему у systemd-boot нет драйвера ext4 fs для доступа к ядрам. В любом случае, как и ожидалось, это не загружается из-за безопасной загрузки.

Раздел безопасной загрузки на этой странице содержит настройку PreLoader.efi& HashTool.efi. После выполнения этих шагов загрузка системы показывает меню systemd-boot, но после выбора Ubuntu выдается эта ошибка:

EFI stub: UEFI Secure Boot is enabled.

Насколько я понимаю, это PreLoaderподписанный двоичный файл, который принимается UEFI. Затем он загружает loader.efi(переименованный systemd-bootx64.efi), хэш которого был зарегистрирован. Это загружает vmlinuzядро, хэш которого также был зарегистрирован. Таким образом, похоже, что безопасная цепочка в порядке, но загрузка все равно не удалась. Похоже, что подпись Canonical для ядра здесь не играет роли.

Как это работает и правильно ли я понял аспекты безопасности?

решение1

Я выполнил вариант страницы, на которую вы ссылаетесь, за исключением параметров безопасной загрузки.

К сожалению, после внесения изменений linux-generic, linux-headers-generic и linux-image-generic в Ubuntu настаивают на установке GRUBв дополнение кустановку systemd-boot и установку GRUB в качестве параметра загрузки по умолчанию при каждом обновлении ядра apt.

В результате, при следующей перезагрузке коробка больше не загружается с помощью systemd-boot. Так что, похоже, нужна последняя команда для запуска efibootmgr, чтобы переустановить порядок загрузки для повторного использования "ubuntu".

Чтобы избежать этой проблемы, я думаю, что DEB-пакеты Ubuntu linux-generic, linux-headers-generic и linux-image-generic следует настроить на прием либо GRUBилиsystemd-boot в качестве принятых загрузчиков, а не принудительно устанавливать GRUB.

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