Как правильно установить 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 ответ

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

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

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

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

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