Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ceci est une ancienne révision du document !
Contributeurs, les sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !
Tchip!
Bip bip, tut.
Brrrtglglglglgl.
Dzip dzip.
Crrrrrrrrrrrr.
Et non, ça n'était pas un modem 56k en train d'établir une connexion internet, mais comme vous l'avez reconnue une tour des années 2000 (avec lecteur de disquette) qui démarrait.
Qu'est-ce que ça cache?
Ce qui nous intéressera ici n'est pas ce que fait le BIOS ou l'UEFI, mais plutôt ce qu'il se passe à partir du moment où ils donnent la main. On prendra comme exemple le cas où c'est le gestionnaire de démarrage Grub qui est installé.
L'amorce du BIOS est rigolote, on comprend un peu pourquoi certains voulaient la changer. Après le POST, quand le BIOS a repéré un disque dur amorçable (à ne pas confondre avec une partition amorçable, et encore moins avec le flag boot), il charge le premier secteur du disque dur en mémoire, et l'exécute.
Un secteur fait 512 octets. Vu les autres infos déjà présentes dans ce secteur, comme la table des partitions (dans un format appelé «msdos» et ne permettant pas plus de 4 paritions principales, dont au plus 1 partition étendue), il ne reste que 440 octets de libres pour le chargeur de démarrage. Dans ces 440 octets, sur la plupart de nos machines, se trouve « Grub Stage 1 », installé par « grub-install /dev/disque-dur », soit automatiquement lors de l'installation de Debian, soit manuellement par la suite.
Ce petit programme de 440o ne peut pas faire grand chose. En pratique, il charge un code situé dans les premiers secteurs du disque dur s'ils sont libres, un « Grub Stage 1.5 », qui lui contient les pilotes nécessaires pour lire le système de fichier ext2. À partir de là, « Grub Stage 1.5 » peut aller lire et charger en mémoire « Grub 2 » depuis /boot/grub, l'interface visuelle et modulaire que nous connaissons.
Cette fois-ci, le firmware de l'UEFI (qui remplace donc le BIOS, son SETUP et son POST), récupère dans le MBR simplifié l'adresse de la partition EFI. Puis il va chercher dans cette partition le fichier « .efi » correspondant au gestionnaire de démarrage. Debian range un grub.efi et un grub.cfg dans « efi/debian/ » (à vérifier via ls /boot/efi/efi)
La sélection d'un noyau dans le menu du Grub permet de choisir un fichier image contenant le noyau, une archive contenant des modules indispensables au démarrage, et des options de configuration, comme par exemple, la partition à utiliser comme système de fichier racine /
.
Le noyau est chargé en mémoire par le gestionnaire de démarrage, puis exécuté.
La liste des options de démarrage proposées par Grub est présente dans le fichier grub.cfg, lui-même généré lors du update-grub. Si le paquet os-prober est installé, les systèmes autres partitions seront testées pour la présence d'OS connus, et les entrées seront ajoutées au grub.cfg. La sélection de l'option de démarrage par défaut est faite par grub et configurable via le /etc/default/grub.