Przejdź do głównej zawartości
Ta strona jest nieaktualna. Proszę zapoznać się z najnowszą dokumentacją dostępną pod adresem /configuration/secure_boot_setup/

Konfiguracja Secure Boot

sbctl to przyjazny dla użytkownika menedżer kluczy bezpiecznego rozruchu, który umożliwia konfigurację bezpiecznego rozruchu, oferuje możliwości zarządzania kluczami i śledzi pliki, które muszą być podpisane w łańcuchu rozruchowym.

Terminal window
sudo pacman -S sbctl

Jeśli używasz GRUB-a, uruchom następujące polecenie, aby włączyć obsługę bezpiecznego rozruchu w GRUB-ie przy użyciu kluczy CA.

Terminal window
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lock

Najpierw musimy przejść do ustawień oprogramowania układowego (firmware) i ustawić tryb bezpiecznego rozruchu na „Setup Mode”. Możesz ponownie uruchomić system z już działającego systemu do ustawień oprogramowania układowego za pomocą następującego polecenia.

Terminal window
systemctl reboot --firmware-setup

Tak wygląda BIOS na Lenovo Ideapad 5 Pro. Zresetuj do trybu konfiguracji lub przywróć klucze fabryczne i uruchom ponownie system.

Jednak niektóre płyty główne MSI nie mają trybu konfiguracji. Aby osiągnąć ten sam efekt, wykonaj dwa kroki z poniższego obrazka:


Terminal window
sudo sbctl status # Jeśli tryb konfiguracji jest włączony, możemy przejść do następnego kroku
Installed: sbctl is not installed
Setup Mode: Enabled
Secure Boot Disabled
sudo sbctl create-keys # Utwórz swoje niestandardowe klucze bezpiecznego rozruchu
Created Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Creating secure boot keys...✔
Secure boot keys created!
sudo sbctl enroll-keys --microsoft # Zarejestruj swoje klucze wraz z kluczami Microsoftu
Enrolling keys to EFI variables...✔
Enrolled keys to the EFI variables!
sudo sbctl status
# sbctl powinien być już zainstalowany, możemy przejść do podpisywania obrazów jądra i menedżera rozruchu
Installed: sbctl is installed
Owner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70
Setup Mode: Disabled
Secure Boot Disabled
Vendor Keys: microsoft

CachyOS dostarcza sbctl-batch-sign, skrypt, który pobiera listę plików do podpisania z sudo sbctl verify i podpisuje je wszystkie. Użytkownicy Limine powinni przejść do Limine.

Terminal window
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

Teraz, gdy wszystkie pliki są podpisane. Uruchom ponownie komputer i przejdź do ustawień UEFI, aby włączyć Bezpieczny rozruch.

Należy pamiętać, że jest to proces jednorazowy, ponieważ podpisanie plików za pomocą flagi -s zapisze te pliki w bazie danych sbctl.

CachyOS używa systemd-boot-update.service dostarczanego przez systemd do aktualizacji menedżera rozruchu przy ponownym uruchomieniu. Oznacza to, że hak pacmana sbctl nie podpisze zaktualizowanych plików binarnych EFI. Jako obejście tego problemu możemy podpisać menedżer rozruchu bezpośrednio.

Terminal window
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efi

Limine to specjalny menedżer rozruchu, który pozwala na sprawdzanie skrótów (hashy) obrazów jądra i innych plików, których Limine używa podczas rozruchu. Jeśli jest to włączone, jakakolwiek ręczna konfiguracja wykonana przez użytkownika, np. podpisanie obrazu za pomocą sbctl-batch-sign, zmodyfikuje skrót odpowiednich plików i spowoduje niepowodzenie weryfikacji sum kontrolnych przez Limine.

Jednak podpisywanie tych plików nie jest konieczne w przypadku Limine, ponieważ ma on specjalny proces rozruchowy, który omija ładowanie łańcuchowe EFI (chainloading) i sprawdzanie podpisów. Jedyne pliki binarne EFI, które muszą być podpisane, to sam Limine.

Aby włączyć automatyczną rejestrację sumy kontrolnej konfiguracji, ustaw następującą opcję w /etc/default/limine:

Terminal window
ENABLE_ENROLL_LIMINE_CONFIG=yes

Następnie uruchom:

Terminal window
# Użyj limine-enroll-config, aby zarejestrować sumę kontrolną konfiguracji i podpisać plik binarny EFI Limine
# To używa sbctl pod spodem
sudo limine-enroll-config
sudo limine-update

Aby sprawdzić, czy bezpieczny rozruch jest rzeczywiście włączony, możesz uruchomić jedno z następujących poleceń

Terminal window
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 położyło podwaliny pod ten przewodnik. Większość materiałów została zaczerpnięta stamtąd.
  • sbctl - Ten prosty przewodnik po włączaniu obsługi bezpiecznego rozruchu nie byłby możliwy, gdyby nie niesamowita praca włożona w stworzenie tego oprogramowania.
  • Improving the Secure Boot Experience by Morten linderud - Wpis na blogu Mortena “Foxboron” Linderuda o tym, jak skomplikowane było doświadczenie z bezpiecznym rozruchem przed sbctl.