Configuration du Secure Boot
Pré-configuration
Section intitulée « Pré-configuration »Gestionnaire de démarrage GRUB
Section intitulée « Gestionnaire de démarrage GRUB »Si vous utilisez GRUB, exécutez la commande suivante pour activer la prise en charge du Secure Boot sur GRUB en utilisant les clés CA.
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=cachyos --modules="tpm" --disable-shim-lockAccéder au mode de configuration (Setup Mode) dans l’UEFI
Section intitulée « Accéder au mode de configuration (Setup Mode) dans l’UEFI »Tout d’abord, nous devons aller dans les paramètres du firmware et régler le mode Secure Boot sur “Setup Mode”. Vous pouvez redémarrer depuis un système déjà en cours d’exécution vers les paramètres du firmware avec la commande suivante.
systemctl reboot --firmware-setup
Voici à quoi ressemble le BIOS sur un Lenovo Ideapad 5 Pro. Réinitialisez en mode configuration et redémarrez dans le système.
Cependant, certaines cartes mères MSI n’ont pas de mode de configuration. Pour obtenir le même effet, réglez le mode de démarrage (secure boot mode) sur « custom » (ceci est important car avec le mode par défaut vous risquez de ne pas pouvoir démarrer CachyOS via le chargeur d’amorçage !). Ensuite, accédez à la section « gestion des clés » et suivez les deux étapes illustrées dans l’image ci-dessous :

Certaines cartes mères Asus présentent un comportement similaire à celui des cartes mères MSI mentionnées ci-dessus, car elles ne disposent pas d’un mode de configuration dédié.
Accédez au Démarrage (Boot) → Démarrage sécurisé (Secure Boot), réglez le mode de démarrage sur Custom, puis ouvrez la gestion des clés (Key Management) et sélectionnez « Delete all Secure Boot variables ».
Installation de sbctl & clés d’enregistrement
Section intitulée « Installation de sbctl & clés d’enregistrement »sbctl est un gestionnaire de clés de démarrage sécurisé et convivial, capable de configurer le démarrage sécurisé, offrant des fonctionnalités de gestion des clés et assurant le suivi des fichiers qui doivent être signés dans la chaîne de démarrage.
sudo pacman -S sbctlConfiguration de sbctl
Section intitulée « Configuration de sbctl »-
Vérifiez si le mode de configuration est activé :
Terminal window sudo sbctl statusInstalled: ✘ sbctl is not installedSetup Mode: ✘ EnabledSecure Boot ✘ Disabled -
Créez vos clés de démarrage sécurisé personnalisées :
Terminal window sudo sbctl create-keysCreated Owner UUID a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Creating secure boot keys...✔Secure boot keys created! -
Enregistrez vos clés avec les clés de Microsoft et micrologiciel FOE (OEM) :
Terminal window sudo sbctl enroll-keys --microsoft --firmware-builtinEnrolling keys to EFI variables...✔Enrolled keys to the EFI variables! -
Vérifiez à nouveau l’état de sbctl pour vous assurer que les clés ont bien été enregistrées et que le mode de configuration est désactivé:
Terminal window sudo sbctl statusInstalled: ✔ sbctl is installedOwner GUID: a9fbbdb7-a05f-48d5-b63a-08c5df45ee70Setup Mode: ✔ DisabledSecure Boot ✘ DisabledVendor Keys: microsoft
Signature de l’image du noyau et du gestionnaire de démarrage
Section intitulée « Signature de l’image du noyau et du gestionnaire de démarrage »Limine est un gestionnaire de démarrage spécial qui permet de vérifier le hachage des images du noyau
et d’autres fichiers que Limine utilise au démarrage. Si cette option est activée, toute
sorte de configuration manuelle effectuée par l’utilisateur, p. ex. la signature de l’image via
sbctl-batch-sign, modifiera le hachage des fichiers correspondants et
fera échouer la vérification de la somme de contrôle de Limine.
Cependant, la signature de ces fichiers n’est pas nécessaire avec Limine car il dispose d’un processus de démarrage spécial qui contourne le chaînage EFI et les vérifications de signature. Les seuls binaires EFI qui doivent être signés sont ceux de Limine lui-même.
Pour activer l’enregistrement automatique de la somme de contrôle de configuration, définissez ce qui suit dans /etc/default/limine :
ENABLE_ENROLL_LIMINE_CONFIG=yesGénéreration d’un hachage pour l’image d’accueil de Limine:
- Vérifiez le nom et le chemin d’accès actuels de l’image de démarrage dans le fichier de configuration :
Vous devriez voir apparaître une ligne comme celle-ci :
Ouvrez un terminal et exécutez la commande suivante: sudo cat /boot/limine.confTerminal window wallpaper: boot():/limine-splash.png - Générez un hachage BLAKE2B pour l’image d’accueil et ajoutez-le à la fin du chemin d’accès dans le fichier de configuration :
Cela produira un hachage similaire à celui de l’exemple ci-dessous :
Exécutez la commande suivante en remplaçant le chemin d'accès par celui que vous avez trouvé à l'étape précédente : sudo b2sum /boot/limine-splash.pngTerminal window # Le code suivant est un exemple75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f - Après avoir copié le hachage nouvellement généré à l’étape précédente, ouvrez le fichier de configuration à l’aide d’un éditeur de texte (ex :
sudo nano /boot/limine.confCTRL + O pour sauvegarder, Entrée pour valider, CTRL + X pour fermer) et ajoutez le hachage à la fin du chemin d’accès de l’image d’accueil, comme suit :Le hachage est ajouté à la fin du chemin d’accès à l’aide du symboleTerminal window wallpaper: boot():/limine-splash.png#75205d08fa9c61599897857e861d6b2f6da25465183fc4cc9efecffb22ee630efb510f2ef1b17677db94c28d5c69ad2ceb4d3892f5bec9cfa65c97b5ba16f52f#. Enregistrez le fichier après avoir effectué cette modification.
Après avoir activé l’enregistrement de la somme de contrôle de configuration et généré le hachage de l’image de démarrage, exécutez les commandes suivantes pour enregistrer la somme de contrôle de configuration et signer le fichier binaire EFI de Limine :
# Utilisez limine-enroll-config pour enregistrer la somme de contrôle de configuration et signer le binaire EFI de Limine# Ceci utilise sbctl en arrière-plansudo limine-enroll-configsudo limine-update
# En cas de problème et malgré le fait que Limine possède un processus de démarrage différent, dans certains cas l'erreur "Secure Boot Violation - Invalid signature detected" peut survenir. Cela est possiblement dû à BOOTX64.EFI qui n'est pas signé :sudo sbctl verify # Pour vérifiersudo sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI # Pour signer BOOTX64.EFIMaintenant que tous les fichiers sont signés. Redémarrez votre système et allez dans vos paramètres UEFI pour activer le Secure Boot.
CachyOS fournit sbctl-batch-sign,
un script qui prend la liste des fichiers à signer à partir de sudo sbctl verify et les signe tous.
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 signedMaintenant que tous les fichiers sont signés. Redémarrez votre système et allez dans vos paramètres UEFI pour activer le Secure Boot.
Consultez cette partie comme référence
Notez qu’il s’agit d’un processus unique, car la signature des fichiers avec l’option -s enregistrera ces fichiers dans la base de données de sbctl.
CachyOS utilise systemd-boot-update.service fourni par systemd pour mettre à jour le gestionnaire de démarrage au redémarrage. Cela signifie que le hook pacman
de sbctl ne signera pas les binaires EFI mis à jour. Pour contourner ce problème, nous pouvons signer le gestionnaire de démarrage directement.
sudo sbctl sign -s -o /usr/lib/systemd/boot/efi/systemd-bootx64.efi.signed /usr/lib/systemd/boot/efi/systemd-bootx64.efiVérifier que le Secure Boot est activé
Section intitulée « Vérifier que le Secure Boot est activé »Pour vérifier que le Secure Boot est bien activé, vous pouvez exécuter l’une des commandes suivantes :
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: supportedLiens et crédits
Section intitulée « Liens et crédits »- Le Wiki Arch a servi de base à ce guide. La plupart des informations ici en ont été tirées.
- sbctl - Ce guide facile pour activer le support du Secure Boot n’aurait pas été possible sans le travail incroyable accompli pour créer ce logiciel.
- Improving the Secure Boot Experience by Morten linderud - Article de blog par Morten
“Foxboron” Linderud sur la complexité de l’expérience Secure Boot avant
sbctl.