Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Comment s'amorce mon système

Introduction

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?

Fonctionnement

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é.

Le cas BIOS

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.

Le cas UEFI

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)

Lancement du noyau

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é.

Options au démarrage et découverte des autres systèmes

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.

Références

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/systeme/grub2/theorie.txt · Dernière modification: 28/10/2015 19:25 par milou

Pied de page des forums

Propulsé par FluxBB