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

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

0
задан 22 August 2020 в 19:29

1 ответ

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

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

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

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

1
ответ дан 5 December 2020 в 21:52

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

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