Ρύθμιση του Secure Boot
Πριν από τη ρύθμιση
Ενότητα με τίτλο «Πριν από τη ρύθμιση»GRUB Boot Manager
Ενότητα με τίτλο «GRUB Boot Manager»Εάν χρησιμοποιείτε το GRUB, εκτελέστε την παρακάτω εντολή για να ενεργοποιήσετε την υποστήριξη για το Secure Boot χρησιμοποιώντας κλειδιά αρχών πιστοποίησης (CA).
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lockΕνεργοποίηση της λειτουργίας «Setup Mode» στο UEFI
Ενότητα με τίτλο «Ενεργοποίηση της λειτουργίας «Setup Mode» στο UEFI»Αρχικά, θα πρέπει να μεταβείτε στις ρυθμίσεις υλικολογισμικού και να θέσετε τη λειτουργία του Secure Boot σε «Setup Mode». Μπορείτε να κάνετε επανεκκίνηση από ένα ήδη εκτελούμενο σύστημα στις ρυθμίσεις υλικολογισμικού με την εξής εντολή:
systemctl reboot --firmware-setup
Έτσι μοιάζει το BIOS σε ένα Lenovo Ideapad 5 Pro. Κάντε επαναφορά σε «Setup Mode» ή ανάκτηση των εργοστασιακών κλειδιών (factory keys) και έπειτα, κάντε επανεκκίνηση στο σύστημα.
Ωστόσο, ορισμένες μητρικές πλακέτες της MSI δεν διαθέτουν «Setup Mode». Για να επιτύχετε το ίδιο αποτέλεσμα, ακολουθήστε τα βήματα της παρακάτω εικόνας:

Ορισμένες μητρικές πλακέτες της ASUS παρουσιάζουν παρόμοια συμπεριφορά με την παραπάνω, καθώς δεν διαθέτουν ειδική λειτουργία «Setup Mode».
Μεταβείτε στο μενού «Boot» → «Secure Boot», ορίστε την επιλογή «Secure Boot Mode» σε «Custom» και έπειτα, ανοίξτε το «Key Management» και επιλέξτε «Delete all Secure Boot Variables».
Εγκατάσταση του sbctl και εγγραφή των κλειδιών
Ενότητα με τίτλο «Εγκατάσταση του sbctl και εγγραφή των κλειδιών»Πριν προχωρήσετε, ελέγξτε αν το sbctl είναι εγκατεστημένο.
Το sbctl είναι ένας εύχρηστος διαχειριστής κλειδιών για το Secure Boot, ικανός να ρυθμίζει το Secure Boot, προσφέροντας δυνατότητες διαχείρισης κλειδιών και παρακολούθησης των αρχείων που πρέπει να υπογραφούν στην ακολουθία εκκίνησης.
Εγκατάσταση του sbctl
sudo pacman -S sbctlΤώρα που το sbctl είναι εγκατεστημένο, πρέπει να το ρυθμίσετε και να καταχωρήσετε τα κλειδιά στο υλικολογισμικό. Αυτή η διαδικασία είναι πολύ απλή· ακολουθήστε απλώς τα παρακάτω βήματα.
-
Ελέγξτε αν η λειτουργία «Setup Mode» είναι ενεργοποιημένη:
Terminal window sudo sbctl statusΑναμενόμενη έξοδος
Terminal window Installed: ✘ sbctl is not installedSetup Mode: ✘ EnabledSecure Boot ✘ Disabled -
Δημιουργήστε τα δικά σας προσαρμοσμένα κλειδιά για το Secure Boot:
Terminal window sudo sbctl create-keysΠαράδειγμα επιτυχούς δημιουργίας κλειδιών
Terminal window Created Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Creating secure boot keys...✔Secure boot keys created! -
Καταχωρήστε τα κλειδιά σας μαζί με τα ενσωματωμένα κλειδιά της Microsoft και του υλικολογισμικού του κατασκευαστή:
Terminal window sudo sbctl enroll-keys --microsoft --firmware-builtinΑναμενόμενη έξοδος
Terminal window Enrolling keys to EFI variables...✔Enrolled keys to the EFI variables! -
Ελέγξτε ξανά την κατάσταση του sbctl για να βεβαιωθείτε ότι τα κλειδιά είναι εγγεγραμμένα και ότι η λειτουργία «Setup Mode» έχει απενεργοποιηθεί:
Terminal window sudo sbctl statusΑναμενόμενη έξοδος
Terminal window Installed: ✔ sbctl is installedOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✔ DisabledSecure Boot ✘ DisabledVendor Keys: microsoft
Υπογραφή του ειδώλου του πυρήνα και του διαχειριστή εκκίνησης
Ενότητα με τίτλο «Υπογραφή του ειδώλου του πυρήνα και του διαχειριστή εκκίνησης»Το CachyOS παρέχει το sbctl-batch-sign,
μια δέσμη ενεργειών που λαμβάνει τη λίστα των αρχείων που πρέπει να υπογραφούν από το sudo sbctl verify και τα υπογράφει όλα.
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Τώρα που όλα τα αρχεία είναι υπογεγραμμένα, κάντε επανεκκίνηση του συστήματός σας και μεταβείτε στις ρυθμίσεις UEFI για να ενεργοποιήσετε το Secure Boot.
Δείτε αυτήν την ενότητα ως σημείο αναφοράς.
Σημειώστε ότι αυτή είναι μια διαδικασία που χρειάζεται να γίνει μόνο μία φορά, καθώς η υπογραφή των αρχείων με την παράμετρο -s θα αποθηκεύσει αυτά τα αρχεία στη βάση δεδομένων του sbctl.
Το CachyOS χρησιμοποιεί το systemd-boot-update.service που παρέχεται από το systemd για την ενημέρωση του διαχειριστή εκκίνησης κατά την επανεκκίνηση. Αυτό σημαίνει ότι το pacman hook
του sbctl δεν θα υπογράφει τα ενημερωμένα δυαδικά αρχεία EFI. Για να παρακάμψετε αυτό το ζήτημα, μπορείτε να υπογράψετε απευθείας τον διαχειριστή εκκίνησης.
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efiΤο Limine είναι ένας ειδικός διαχειριστής εκκίνησης που επιτρέπει τον έλεγχο του hash
των ειδώλων του πυρήνα και άλλων αρχείων που χρησιμοποιεί το Limine κατά την εκκίνηση.
Εάν αυτή η λειτουργία είναι ενεργοποιημένη, οποιοδήποτε είδος χειροκίνητης διαμόρφωσης από τον
χρήστη, π.χ. υπογραφή του ειδώλου μέσω του sbctl-batch-sign, θα τροποποιήσει το hash των
αντίστοιχων αρχείων και θα προκαλέσει αποτυχία στην επαλήθευση του αθροίσματος ελέγχου του Limine.
Ωστόσο, η υπογραφή αυτών των αρχείων δεν είναι απαραίτητη στο Limine επειδή διαθέτει μια ειδική διαδικασία εκκίνησης που παρακάμπτει την ακολουθία φόρτωσης του EFI και τους ελέγχους υπογραφών. Τα μόνα δυαδικά αρχεία EFI που χρειάζεται να υπογραφούν είναι το ίδιο το Limine.
Για να ενεργοποιήσετε την αυτόματη καταχώρηση του αθροίσματος ελέγχου της διαμόρφωσης, ορίστε το εξής στο /etc/default/limine:
ENABLE_ENROLL_LIMINE_CONFIG=yesΠροχωρήστε στη δημιουργία ενός hash για την εικόνα εκκίνησης (splash image) του Limine:
- Ελέγξτε το τρέχον όνομα και τη διαδρομή της εικόνας εκκίνησης στο αρχείο διαμόρφωσης:
Θα εντοπίσετε μια γραμμή όπως αυτή:
Ανοίξτε ένα τερματικό και εκτελέστε την εξής εντολή: sudo cat /boot/limine.confTerminal window wallpaper: boot():/limine-splash.png - Δημιουργήστε ένα hash BLAKE2B για την εικόνα εκκίνησης και προσθέστε το στη διαδρομή στο αρχείο διαμόρφωσης:
Αυτή η εντολή θα δημιουργήσει ένα hash όπως το παρακάτω παράδειγμα:
Εκτελέστε την εξής εντολή, αντικαθιστώντας τη διαδρομή με αυτή που βρήκατε στο προηγούμενο βήμα: sudo b2sum /boot/limine-splash.pngTerminal window 75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f - Αφού αντιγράψετε το νέο hash από το προηγούμενο βήμα, ανοίξτε το αρχείο διαμόρφωσης με ένα πρόγραμμα επεξεργασίας κειμένου και προσθέστε το hash στη διαδρομή της εικόνας εκκίνησης, ως εξής:
Όπως μπορείτε να δείτε, το hash προστίθεται στη διαδρομή με το σύμβολο
Terminal window wallpaper: boot():/limine-splash.png#75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f#. Αποθηκεύστε το αρχείο αφού πραγματοποιήσετε την αλλαγή.
Αφού ενεργοποιήσετε την καταχώρηση του αθροίσματος ελέγχου της διαμόρφωσης και δημιουργήσετε το hash για την εικόνα εκκίνησης, εκτελέστε τις εξής εντολές για να καταχωρήσετε το άθροισμα ελέγχου της διαμόρφωσης και να υπογράψετε το δυαδικό αρχείο EFI του Limine:
# Χρησιμοποιήστε το limine-enroll-config για την εγγραφή του αθροίσματος ελέγχου της διαμόρφωσης και την υπογραφή του δυαδικού αρχείου EFI του Limine# Αυτό χρησιμοποιεί το sbctl στο παρασκήνιοsudo limine-enroll-configsudo limine-updateΈλεγχος της κατάστασης του Secure Boot
Ενότητα με τίτλο «Έλεγχος της κατάστασης του Secure Boot»Για να επαληθεύσετε ότι το Secure Boot έχει ενεργοποιηθεί, μπορείτε να εκτελέσετε μία από τις παρακάτω εντολές:
sudo sbctl statusInstalled: ✓ sbctl is installedOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✓ DisabledSecure Boot: ✓ EnabledVendor 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Σύνδεσμοι και ευχαριστίες
Ενότητα με τίτλο «Σύνδεσμοι και ευχαριστίες»- Το Arch Wiki έθεσε τις βάσεις για αυτόν τον οδηγό. Το μεγαλύτερο μέρος αυτού του περιεχομένου προέρχεται από εκεί.
- sbctl: αυτός ο απλός οδηγός ενεργοποίησης της υποστήριξης για το Secure Boot δεν θα ήταν εφικτός χωρίς την καταπληκτική δουλειά πίσω από τη δημιουργία αυτού του λογισμικού.
- Improving the Secure Boot Experience by Morten Linderud: ανάρτηση από τον Morten
«Foxboron» Linderud σχετικά με το πόσο περίπλοκη ήταν η εμπειρία με το Secure Boot πριν από το
sbctl.