Перейти к содержимому
Эта страница устарела. Актуальную документацию можно найти по адресу: /configuration/secure_boot_setup/

Настройка Secure Boot

Если вы используете GRUB, выполните следующую команду, чтобы включить поддержку Secure Boot в GRUB с использованием CA-ключей.

Окно терминала
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lock

Сначала нам нужно зайти в настройки прошивки и установить для режима Secure Boot значение “Setup Mode” (Режим настройки). Вы можете перезагрузиться из уже запущенной системы в настройки прошивки с помощью следующей команды.

Окно терминала
systemctl reboot --firmware-setup

Так выглядит BIOS на Lenovo Ideapad 5 Pro. Сбросьте в режим настройки или восстановите заводские ключи и перезагрузитесь обратно в систему.

Однако на некоторых материнских платах MSI нет режима настройки. Чтобы добиться того же эффекта, выполните два шага, показанные на изображении ниже:


На некоторых материнских платах ASUS поведение аналогично упомянутым выше платам MSI — у них нет выделенного режима настройки.

Перейдите в Boot → Secure Boot, установите для Secure Boot Mode значение Custom, затем откройте Key Management и выберите «Delete all Secure Boot Variables».

Прежде чем продолжить, убедитесь, что sbctl установлен.

sbctl — это удобный менеджер ключей Secure Boot, способный настраивать безопасную загрузку, предоставляющий возможности управления ключами и отслеживающий файлы, которые необходимо подписывать в цепочке загрузки.

Как установить sbctl
Откройте терминал и выполните следующую команду
sudo pacman -S sbctl

Теперь, когда sbctl установлен, необходимо его настроить и зарегистрировать ваши ключи в прошивке. Этот процесс довольно прост — просто следуйте шагам ниже.

  1. Проверьте, включён ли режим настройки:

    Окно терминала
    sudo sbctl status
    Ожидаемый вывод
    Окно терминала
    Installed: sbctl is not installed
    Setup Mode: Enabled
    Secure Boot Disabled
  2. Создайте свои собственные ключи Secure Boot:

    Окно терминала
    sudo sbctl create-keys
    Пример успешного создания ключей
    Окно терминала
    Created Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
    Creating secure boot keys...✔
    Secure boot keys created!
  3. Зарегистрируйте ваши ключи вместе со встроенными ключами Microsoft и прошивки OEM:

    Окно терминала
    sudo sbctl enroll-keys --microsoft --firmware-builtin
    Ожидаемый вывод
    Окно терминала
    Enrolling keys to EFI variables...✔
    Enrolled keys to the EFI variables!
  4. Снова проверьте статус sbctl, чтобы убедиться, что ключи зарегистрированы и режим настройки отключён:

    Окно терминала
    sudo sbctl status
    Ожидаемый вывод
    Окно терминала
    Installed: sbctl is installed
    Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
    Setup Mode: Disabled
    Secure Boot Disabled
    Vendor Keys: microsoft

CachyOS предоставляет sbctl-batch-sign, скрипт, который берет список файлов, требующих подписи, из вывода sudo sbctl verify и подписывает их все.

Окно терминала
sudo sbctl verify
Verifying file database and EFI images in /boot...
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn4.0.fc40.x86_64/linux is not signed
/boot/EFI/BOOT/BOOTX64.EFI is not signed
/boot/EFI/systemd/systemd-bootx64.efi is not signed
/boot/1c4b5246eef05ac3bc87339323cd5101/0-rescue/linux is not signed
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn3.0.fc40.x86_64/linux is not signed
sudo sbctl-batch-sign
sudo sbctl verify
Verifying file database and EFI images in /boot...
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn4.0.fc40.x86_64/linux is signed
/boot/EFI/BOOT/BOOTX64.EFI is signed
/boot/EFI/systemd/systemd-bootx64.efi is signed
/boot/1c4b5246eef05ac3bc87339323cd5101/0-rescue/linux is signed
/boot/1c4b5246eef05ac3bc87339323cd5101/6.10.0-cn3.0.fc40.x86_64/linux is signed

Теперь, когда все файлы подписаны. Перезагрузите систему и зайдите в настройки UEFI, чтобы включить Secure Boot.

Обратитесь к этому разделу для справки

Обратите внимание, что это одноразовый процесс, так как подпись файлов с флагом -s сохранит эти файлы в базе данных sbctl.

CachyOS использует systemd-boot-update.service, предоставляемый systemd, для обновления загрузчика при перезагрузке. Это означает, что хук pacman sbctl не будет подписывать обновленные EFI-файлы. В качестве обходного пути мы можем подписать загрузчик напрямую.

Окно терминала
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi

Чтобы убедиться, что безопасная загрузка действительно включена, вы можете выполнить одну из следующих команд:

Окно терминала
sudo sbctl status
Installed: sbctl is installed
Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Setup Mode: Disabled
Secure Boot: Enabled
Vendor Keys: microsoft
bootctl
System:
Firmware: UEFI 2.80 (INSYDE Corp. 28724.16435)
Firmware Arch: x64
Secure Boot: enabled (user)
TPM2 Support: yes
Measured UKI: no
Boot into FW: supported
  • The Arch Wiki заложила основу для этого руководства. Большая часть материала взята оттуда.
  • sbctl - Это простое руководство по включению поддержки Secure Boot не было бы возможным, если бы не потрясающая работа по созданию этой программы.
  • Improving the Secure Boot Experience by Morten linderud - Статья в блоге Мортена “Foxboron” Линдеруда о том, насколько сложным был опыт работы с безопасной загрузкой до появления sbctl.