Ce document décrit l'installation du chargeur Grub2 dans le cas d'un amorçage en mode UEFI. L'installation s'effectue en mode compatible secure boot avec les applications signées shimx64.efi, grubx64.efi, le noyau et les modules linux
Afin d'être compatible avec le mode Secure Boot, l'amorçage depuis la plate-forme s'effectue via le chargeur intermédiaire shim, signé par la clé tierce partie de Microsoft
La suite de l'installation s'effectue en utilisant le certificat Debian compilé dans shim pour s'assurer de ne lancer que des systèmes signés par ce certificat tels que grub, le noyau et les modules linux. Les éventuels modules non signés (modules propriétaires par exemple), devront être signés au moyen de clés machine utilisateur (MOK)
2 - Configuration initiale
On suppose la plate-forme configurée en mode d'amorçage UEFI, avec Secure Boot activé ou non et le système démarré en mode UEFI.
Vérifier le mode d'amorçage uefi, le répertoire /sys/firmware/efi doit-être "peuplé"
Les noyaux linux debian amd64 sont disponibles en deux versions : signé ou non signé.
La version signée se termine par -amd64,
la version non signée se termine par -amd64-unsigned et n'est compatible qu'avec l'amorçage en mode UEFI non signée
Utiliser la version signée qui peut-être installée avec le méta-paquet linux-image-amd64, et est compatible avec l'amorçage UEFI en mode secureboot activé ou non
$ aptitude search ~ilinux-image-amd64 i linux-image-amd64 - Linux pour les ordinateurs 64 bits (métapaquet
$ aptitude search ~ilinux-image-$(uname -r) i A linux-image-5.10.0-0.bpo.4-amd64 - Linux 5.10 for 64-bit PCs (signed)
3.2 - Installation de grub
Installer grub et ses dépendances à partir du paquet grub-efi-amd64
$ sudo aptitude install grub-efi-amd64
Par défaut, tous les paquets nécessaires à l'amorçage en mode secure boot, à la manipulation des clés propriétaires (MOK), etc... sont installés
$ aptitude search ~i-signed i A grub-efi-amd64-signed - GRand Unified Bootloader, version 2 (amd64 UEFI signed by Debian) i A shim-helpers-amd64-signed - boot loader to chain-load signed boot loaders (signed by Debian) i shim-signed - Secure Boot chain-loading bootloader (Microsoft-signed binary) i A shim-signed-common - boot loader to chain-load signed boot loaders under Secure Boot
3.3 - Mise à jour du fichier de configuration de grub
Créer ou mettre à jour le fichier de configuration de /boot/grub/grub.cfg comme pour une installation BIOS/MBE
$ sudo update-grub Création du fichier de configuration GRUB… .... Adding boot menu entry for EFI firmware configuration fait
Noter la création d'une entrée pour "EFI firmware configuration" qui permettra de sélectionner dans le menu Grub le menu du micrologiel UEFI
3.4 - Installation de grub dans l'ESP
L'installation s'effectue automatiquement dans l'ESP montée en /boot/efi
Par défaut, elle s'effectue en mode compatible Secure Boot (option --uefi-boot-secure)
3.5 - Installation de grub dans un autre répertoire de l'ESP
Bien qu'il soit possible de spécifier un autre répertoire d'installation dans l'ESP que debian avec l'option --bootloader-id, le démarrage s'effectuera toujours selon les indications contenues dans le répertoire debian, il ne semble donc pas possible d'amorcer grub depuis un autre répertoire que debian ....
$ sudo grub-install --bootloader-id=buster
3.6 - Mode amorçage par défaut
Alternativement, installer grub dans l'ESP, en mode amorçage par défaut qui utilise les répertoires et fichiers d'amorçage de secours /EFI/BOOT/BOOTX64.EFI, avec l'option --removable
sudo grub-install --removable --uefi-secure-boot
aucune entrée d'amorçage n'est crée dans les variables efi
les fichiers sont placés dans le répertoire /efi/boot/EFI/BOOT
Le fichier grubx64 contient les informations nécessaires au lancement du menu grub dans le répertoire /boot/grub de la partition du système utilisé pour effectuer l'installation