Ce document décrit la mise en œuvre de l'amorçage sur une plate-forme équipée d'un micrologiciel UEFI
Dans ce qui suit, on suppose le dispositif "Secure Boot" non activé. L'amorçage avec Secure Boot activé est décrit dans le document : Amorçage UEFI - Secure Boot
Sommaire
1 - Préalable
1.1 - Définitions
UEFI - Unified Extensible Firmware Interface : Standard qui, à la suite de l'historique BIOS (Basic input Output System) définit sur les ordinateurs de type PC, l'interface entre le micrologiciel (firmware) et le système d'exploitation. Par extension, UEFI peut également désigner le micrologiciel qui équipe les cartes mères de ces PCs .
EFI - Extensible Firmware Interface : Nom original de l'UEFI utilisé jusqu'aux versions < 2.x
ESP - EFI System Partition : Partition sur laquelle le micrologiciel UEFI recherche les fichiers à lancer. L'ESP joue pour l'UEFI le rôle de la MBR pour le BIOS.
Application UEFI : Les applications UEFI sont des programme pouvant être lancés par le micrologiciel UEFI. Il s'agit généralement d'un chargeur de démarrage, tel que grub-efi, mais peut également être un utilitaire (shell.efi), un jeu (tetris.efi), .... Les applications UEFI
doivent être compatibles avec l'amorçage UEFI et ont généralement une extension .efi
sont stockés dans des répertoires de type /EFI/<nom_répertoire> de la partition ESP
Nvram - Non-Volatile Random-Access Memory : Mémoire à accès direct en lecture et écriture qui conserve les informations lorsque l'alimentation est supprimée (par opposition aux mémoires RAM dynamiques (DRAM) ou statiques (SRAM). Dans le contexte de l'UEFI, la Nvram est une mémoire directement gérée par l'UEFI qui contient, par exemple, une liste d'adresses des applications UEFI avec leur priorité d'amorçage
1.2 - Principe
L'amorçage en mode UEFI repose sur 3 éléments principaux
La configuration de l'amorçage de la plate-forme en mode UEFI
La configuration du media sur lequel s'effectuera l'amorçage : partitionnement GPT et partition ESP (EFI System Partition)
La disponibilité d'une application UEFI à démarrer sur la partition ESP
La première étape consiste à accéder au menu de la plate-forme pour la configurer en mode UEFI.
2 - Accès à l'interface UEFI de la plate-forme
L'accès à l'interface peut s'effectuer de différentes façons
2.1 - Lors de la mise sous-tension
L'interface UEFI est généralement dotée de trois Menus
un Menu général de configuration des paramètres
un Menu de mise à à jour du micrologiciel
un Menu de sélection manuelle du périphérique d'amorçage
La sélection du menu s'effectue lors de la mise sous-tension, en tapotant sur des touches spécifiques, variables selon les plateformes et les micrologiciels qui les équipent. Par exemple, sur le PC Nuc Intel 8i5BEH
F2 accès au Menu général appelé Setup
F7 donne accès au Menu de mise à jour du micrologiciel
F10 donne accès au Menu de sélection du périphérique d'amorçage
2.2 - Depuis un shell UEFI
Si un shell UEFI est ouvert (voir Shell UEFI), la commande exit permet d'accéder au Menu général (Setup)
SHELL>exit
2.3 - Depuis un shell Grub
Si un shell Grub est ouvert (Voir Console Grub - Commandes de base ), la commande fwset (firmware setup) permet d'accéder au Menu général (Setup)
grub> fwsetup
2.4 - Depuis un menu Grub
Il est possible d'ajouter une entrée dans le menu grub qui lorsqu'elle est sélectionnée, lance le Menu Général : Voir Grub2 - Installation - Amorçage UEFI
$ sudo update-grub ... Adding boot menu entry for EFI firmware configuration
Cette entrée est ajoutée à partir de /etc/grub.d/30_uefi-firmware
La configuration de l'amorçage de la plate-forme peut varier d'un appareil à un autre. Typiquement, pour permettre l'amorçage UEFI en mode non Secure Boot d'un système Debian
Activer le mode amorçage UEFI
Désactiver les options correspondant à
Secure Boot
Fast boot (utilisé par les Systèmes d'exploitation Microsoft, et qui peut générer des problèmes avec linux)
Legacy Boot (afin d'amorcer de façon sûre sur l'amorçage UEFI)
Sélectionner les périphériques d'amorçage (disques, interfaces USB) sur lesquels pourra s'effectuer l'amorçage
Définir l'ordre d'exploration des périphériques lors de l'amorçage, par exemple 1 - Interface USB, 2 - Disque Dur interne, ce qui permettra
d'amorcer sur l'image d'un installateur Debian à partir d'une clé USB
et de redémarrer, une fois l'installation faite et la clé retirée, sur le disque dur
3.2 - Vérification rapide de le configuration de la plate-forme
Les installateurs Debian sont compatibles avec les amorçages UEFI avec et sans le mode secure boot activé et peuvent être utilisés pour vérifier que l'amorçage en mode UEFI s'effectue correctement:
Recopier le CD d'installateur Debian (live ou standard) sur une clé USB et la connecter sur un port USB du PC
Configurer l'amorçage en mode UEFI, autoriser l'amorçage sur port USB et redémarrer le système
Lorsque le menu grub s'affiche, taper c pour passer en mode shell grub
Taper set pour faire afficher les paramètres de grub et noter la valeur du paramètre grub_platform ou bien afficher directement la valeur du paramètre, en cas d'amorçage UEFI, le paramètre vaut efi
grub > echo $grub_platform efi
4 - Configuration du media
4.1 - Partitionnement et système de fichier
Le périphérique de stockage sur lequel s'effectue l'amorçage doit-être partitionné en mode GPT et disposer d'une partition d'amorçage appelée ESP (EFI System Partition) contenant l'application UEFI à démarrer.
Les caractéristiques typiques d'une partition ESP sont
numéro de partition 1
taille 500 MiB ou plus
système de fichier : FAT32
indicateur de partition : ESP
Les commandes suivantes permettent de préparer un media répondant à ces caractéristiques, on suppose que le media est attaché en /dev/sdb
Partitionnement en mode gpt et création de la partition ESP
$ sudo parted /dev/sdb -s mktable gpt mkpart ESP fat32 2MiB 512MiB set 1 esp on
Formatage de la partition ESP
$ sudo mkfs.vfat -F 32 -n ESP /dev/sdb1
Vérification : Partitionnement et système de fichier
Note : sur une partition fat32, les minuscules et majuscules sont équivalentes, le chemin /efi/boot/BOOTx64.EFI est donc équivalent à /EFI/BOOT/bootx64.efi
4.2 - Application UEFI - Cas général
Lorsque l'on dispose d'une application UEFI, son installation dans l'ESP s'effectue par recopie. Dans ce qui suit, on prend l'exemple du jeu tetris.efi
L'installation du chargeur d'amorçage grub-efi dans l'ESP s'effectue automatiquement avec la commande grub-install : voir Grub2 - Installation - Amorçage UEFI
5 - Lancement
5.1 - Lancement "manuel"
Pour lancer "manuellement" une application présente dans l'ESP, la sélectionner
soit, au niveau du Menu Bios UEFI (en fonction des possibilités du menu ) : A l'aide de l'explorateur intégré, sélectionner le périphérique, l'ESP, le chemin de l'application
soit à partir d'un shell UEFI : Une fois le Shell UEFI ouvert, lancer le programme à partir du nom du fichier, comme dans l'exemple ci-dessous (: voir Shell UEFI pour plus de détails)
Shell> FS0: FS0:\> \EFI\tetris\tetris.efi
5.2 - Amorçage automatique
Il est possible de définir et stocker dans la Nvram de la plate-forme une liste ordonnée d'entrées définissant des adresses d'applications efi dans les ESPs. Cette gestion peut s'effectuer (tout ou en partie) à partir
du Bios UEFI, en fonction des possibilités du Menu : voir les menus "Ordre d'amorçage, Entrées d'amorçage,...
du shell UEFI, à l'aide du programme "bcfg" : voir Shell UEFI
Lors de la mise sous-tension de la plate-forme, l'UEFI explore successivement les différents périphériques de stockage, dans l'ordre défini dans le bios UEFI
Lorsqu'un périphérique disposant d'une partition ESP a été trouvé, l'UEFI recherche sur cette partition, en suivant l'ordre défini dans la liste d'amorçage, une entrée d'amorçage valide et la lance le cas échéant
Si aucune entrée n'est trouvée ou valide, l'UEFI recherche le programme par défaut situé en "/EFI/BOOT/bootx64.efi" et le lance le cas échéant. De cette façon, des programmes inconnus de la plate-forme (installateur Debian, clés autonomes) peuvent être lancés automatiquement.
Si l'entrée par défaut n'existe pas ou n'est pas valide, le périphérique suivant est exploré, etc....