debian avec boot efi Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
marcastro
Membre actif
Membre actif
Messages : 732
Inscription : 22 avr. 2016, 12:05
Localisation : variable
Status : Hors-ligne

Bonsoir.
pour le moment j'ai toujours debian en mode legacy, tant que ça reste possible. Mais j'aimerais comprendre le fonctionnement en mode efi ; c'est pas l'installation en elle même qui me poserait problème sachant que l'installeur debian s'occupe de tout, ce que je voudrais savoir c'est où vont s'installer grub et la table des partitions. Est-ce toujours sur les 512 premiers octets du disque ou sur la partition efi. :unknw: Je suis preneur de vos explications.
sur le forum depuis 2007.
sid et bookworm avec xfce
PascalHambourg
Contributeur
Contributeur
Messages : 930
Inscription : 05 août 2016, 20:25
Status : Hors-ligne

Sur PC on trouve principalement deux formats de table de partition :
- MSDOS (ou DOS, MBR), le format traditionnel avec la table de partition principale (4 entrées) dans le MBR et des tables de partition étendues (1 par partition logique) dans les partitions étendues imbriquées et liées en listes chaînées.
- GPT, le nouveau format introduit par la spécification de l'UEFI, avec la table de partition (taille variable, généralement 128 entrées) dans les secteurs qui suivent le MBR et une copie de secours à la fin du disque. Le MBR existe toujours et contient une table de partition factice dite "de protection".

Le format GPT a plusieurs avantages comme les noms et UUID de partition indépendants des étiquettes et UUID de système de fichiers, le support des disques de plus de 2 Tio avec des secteurs de 512 octets, la suppression des partitions étendues et logiques complexes et fragiles.

Bien que le format MSDOS soit traditionnellement utilisé avec l'amorçage BIOS et le format GPT avec l'amorçage EFI (c'est obligatoire avec Windows), on peut théoriquement faire l'inverse, voire mettre en place un double amorçage BIOS+EFI avec n'importe lequel des deux formats. Néanmoins certains firmwares BIOS ou UEFI imposent des restrictions (qui ne sont pas dans les spécifications officielles, donc ce sont des bugs) parfois contradictoires qui peuvent compliquer ou empêcher les configurations d'amorçage "non standard".

Dans l'amorçage BIOS sur table MSDOS, la première partie de GRUB (boot image) est installée dans le MBR, la seconde partie (core image) est installée "sauvagement" dans les secteurs non alloués situés entre le MBR et la première partition. La troisième partie de GRUB (modules, fichier de configuration grub.cfg, polices...) est installée dans /boot/grub comme toujours. Pour installer GRUB on exécute grub-install en spécifiant le disque où la boot image et la core image doivent être installés.

Dans l'amorçage BIOS sur table GPT, la boot image de GRUB est encore installée dans le MBR mais la core image ne peut pas être installée dans les secteurs suivants qui sont déjà occupés par la table de partition GPT. Elle est installée dans une petite partition (1 Mo suffit largement) non formatée de type "BIOS boot" (drapeau bios_grub pour parted) créée à cet effet. Pour installer GRUB on exécute grub-install en spécifiant le disque où la boot image et la core image doivent être installés comme précédemment, ia partition BIOS boot sera utilisée automatiquement.

Dans l'amorçage EFI sur table MSDOS ou GPT, il n'y a pas de boot image et le MBR n'est pas utilisé. La core image de GRUB est un fichier *.efi installé dans un sous-répertoire arbitraire du répertoire /EFI d'une partition de type "système EFI" formatée en FAT habituellement montée sur /boot/efi. Selon la distribution et le chargeur d'amorçage utilisé, la partition EFI peut être montée ailleurs (/boot, /efi...). Pour installer GRUB on exécute grub-install sans spécifier de disque, la partition EFI montée sur /boot/efi est implicitement utilisée. Cela crée automatiquement une "entrée d'amorçage EFI" avec le nom de la distribution et l'emplacement du fichier *.efi à exécuter dans les "variables de boot EFI" stockées dans la mémoire non volatile de la carte mère. Plusieurs chargeurs d'amorçage peuvent donc être installés en parallèle dans des sous-répertoires distincts d'une même partition EFI sans s'écraser les uns les autres comme dans le cas du MBR. Il peut aussi y avoir plusieurs partitions EFI sur un même disque ou sur des disques différents. Un répertoire spécial /EFI/Boot appelé par convention "chemin de support amovible" peut contenir un chargeur de secours qui peut être lancé par le firmware UEFI en l'absence d'entrée de boot EFI valide. Les installateurs et systèmes live sur des supports amovibles utilisent ce mécanisme pour démarrer, d'où son nom.

Une variante de l'amorçage EFI est le "secure boot". Quand le secure boot est activé, le firmware UEFI vérifie que le fichier *.efi chargé est signé cryptographiquement avec une clé reconnue avant de l'exécuter. La seule clé reconnue par défaut est celle de Microsoft, mais le firmware UEFI peut permettre d'en ajouter d'autres. Les distributions supportant le secure boot font signer par Microsoft un petit programme appelé "shim" et fournissent des variantes de GRUB et du noyau Linux signées avec leur propre clé. Au démarrage, le firmware UEFI vérifie la signature de shim ; shim vérifie à son tour la signature de GRUB ; GRUB vérifie la signature du noyau Linux. Le noyau vérifie aussi la signature des modules qui'll charge. Les modules compilés localement (notamment les pilotes propriétaires comme nvidia) ne peuvent donc pas être chargés à moins de les signer avec une clé ajoutée à la liste des clés reconnues. En principe GRUB ne peut pas non plus charger les noyaux d'autres distributions non signés ou signés avec une clé non reconnue, mais je n'ai jamais testé ce cas.

Pour les détails, il y a plein d'infos dans les pages UEFI du wiki Debian.
Avatar de l’utilisateur
lol
Site Admin
Site Admin
Messages : 5054
Inscription : 04 avr. 2016, 12:11
Localisation : Madagascar
Status : Hors-ligne

Merci @PascalHambourg ,
Très utile et précis comme d'habitude. :icon_biggrin:
Je répond ici pour pouvoir retrouver facilement ton explication.
Règles d'usage du forum. Signalez si vous avez posté votre question sur un autre forum. Explications ici
Debian Unstable. Mate/LXQT. Dieu, en créant l'homme, a quelque peu surestimé ses capacités.
marcastro
Membre actif
Membre actif
Messages : 732
Inscription : 22 avr. 2016, 12:05
Localisation : variable
Status : Hors-ligne

:good: merci@PascalHambourg , explications claires et précises comme d'habitude, tu as bien résumer les infos que je voulais avoir concernant les différences entre BIOS et EFI et les systèmes de tables des partitions associés. Les choses sont maintenant plus claires. :023:
sur le forum depuis 2007.
sid et bookworm avec xfce
marcastro
Membre actif
Membre actif
Messages : 732
Inscription : 22 avr. 2016, 12:05
Localisation : variable
Status : Hors-ligne

marcastro a écrit : 31 mai 2023, 23:46 :good: merci@PascalHambourg , explications claires et précises comme d'habitude, tu as bien résumé les infos que je voulais avoir concernant les différences entre BIOS et EFI et les systèmes de tables des partitions associés. Les choses sont maintenant plus claires. :023:
sur le forum depuis 2007.
sid et bookworm avec xfce
Répondre