Nastavenie Secure Boot
sbctl
sbctl
je užívateľsky prívetivý správca kľúčov pre secure boot, ktorý umožňuje nastaviť secure boot,
ponúka možnosti správy kľúčov a sleduje súbory, ktoré je potrebné podpísať v reťazci spúšťania.
Inštalácia sbctl
❯ sudo pacman -S sbctl
Prednastavenie
Boot Manager GRUB
Ak používate GRUB, spustením nasledujúceho príkazu povolíte podporu secure boot v GRUB pomocou CA kľúčov.
❯ sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lock
Vstup do režimu nastavenia v UEFI
Najprv musíme prejsť do nastavení firmvéru a nastaviť režim secure boot na “Setup Mode”. Môžete reštartovať z už spusteného systému do nastavení firmvéru pomocou nasledujúceho príkazu.
❯ systemctl reboot --firmware-setup

Takto vyzerá BIOS na Lenovo Ideapad 5 Pro. Resetujte do režimu nastavenia alebo obnovte továrenské kľúče a reštartujte späť do systému.
Nastavenie sbctl
❯ sudo sbctl status # Ak je povolený režim nastavenia, môžeme pokračovať ďalším krokomInstalled: ✘ sbctl nie je nainštalovanýSetup Mode: ✘ PovolenýSecure Boot ✘ Zakázaný
❯ sudo sbctl create-keys # Vytvorte si vlastné kľúče pre secure bootCreated Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Creating secure boot keys...✔Secure boot kľúče vytvorené!
❯ sudo sbctl enroll-keys -m # Zaregistrujte svoje kľúče pomocou kľúčov od MicrosoftuEnrolling keys to EFI variables...✔Kľúče zaregistrované do EFI premenných!
❯ sudo sbctl status# sbctl by mal byť teraz nainštalovaný a môžeme pokračovať v podpisovaní obrazov jadra a boot manageraInstalled: ✔ sbctl je nainštalovanýOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✔ ZakázanýSecure Boot ✘ ZakázanýVendor Keys: microsoft
Podpisovanie obrazu jadra a Boot Managera
CachyOS poskytuje skript sbctl-batch-sign
,
ktorý preberá zoznam súborov, ktoré je potrebné podpísať, z sudo sbctl verify
a podpíše ich všetky.
❯ sudo sbctl verifyVerifying 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 verifyVerifying 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
Teraz, keď sú všetky súbory podpísané, môžeme reštartovať späť do nastavení UEFI a povoliť secure boot.
Upozorňujeme, že ide o jednorazový proces, pretože podpisovanie súborov s príznakom -s
uloží tieto súbory do databázy sbctl
.
sbctl
sa dodáva s pacman hookom, čo znamená, že automaticky
podpíše všetky nové súbory pri aktualizácii jadra alebo boot managera.
systemd-boot
CachyOS používa systemd-boot-update.service
poskytovaný systémom systemd na aktualizáciu boot managera pri reštarte. To znamená, že
pacman hook sbctl
nepodpíše aktualizované EFI binárne súbory. Ako riešenie môžeme podpísať boot manager priamo.
❯ sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi
Overenie, že je Secure Boot povolený
Ak chcete overiť, či je secure boot skutočne povolený, môžete spustiť jeden z nasledujúcich príkazov.
❯ sudo sbctl statusInstalled: ✓ sbctl je nainštalovanýOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✓ ZakázanýSecure Boot: ✓ PovolenýVendor Keys: microsoft
❯ bootctlSystem: 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
Odkazy a Poďakovania
- Arch Wiki položila základy pre túto príručku. Väčšina vecí tu bola prevzatá odtiaľ.
- sbctl - Táto jednoduchá príručka na povolenie podpory secure boot by nebola možná, keby nebolo skvelej práce vykonanej pri vytváraní tohto softvéru.
- Improving the Secure Boot Experience od Mortena linderuda - Blogový príspevok od Mortena
“Foxboron” Linderuda o tom, aké komplikované bolo používanie secure boot pred
sbctl
.