Qu’est-ce qu’un bootloader et comment fonctionne-t-il ?

Les chargeurs d’amorçage veillent à ce que toutes les données importantes du système d’exploitation soient chargées dans la mémoire vive dès le démarrage de l’appareil. Pendant le processus de démarrage, le firmware transmet les informations nécessaires à cet effet.

Qu’est-ce que le bootloader ?

Les données du système d’exploitation doivent être chargées directement dans la mémoire vive lors du démarrage de l’appareil. Cela est possible grâce à ce que l’on appelle un chargeur d’amorçage ou bootloader, qui fait office de programme de démarrage. Ainsi, le bootloader se lance généralement juste après le démarrage d’un appareil, quel que soit son support comme un disque dur, CD/DVD ou clé USB. Ce support va chercher dans le firmware de l’ordinateur (par ex. le BIOS) les informations qui concernent l’emplacement du chargeur d’amorçage. Ce processus est généralement désigné sous le nom d’« amorçage ».

Note

Le terme anglais « bootloader » est une abréviation de l’expression « bootstrap loader » (« chargeur d’amorçage »). Le gestionnaire de démarrage est le composant décisif pour assurer le démarrage de l’ordinateur et joue le rôle d’une « amorce » lors de la mise sous tension de l’appareil.

Comment un chargeur d’amorçage fonctionne-t-il ?

Lorsqu’on appuie sur le bouton de démarrage d’un ordinateur, la première chose qui apparaît à l’écran est un court ensemble d’informations sur le matériel intégré. Le logiciel responsable de ce message est le firmware de l’appareil, que nous avons mentionné ci-dessus. Il est généralement installé par les fabricants dans une mémoire flash placée sur la carte mère de l’ordinateur. La plupart des ordinateurs de bureau et portables utilisent le BIOS (Basic Input/Output System). Les plus récents peuvent s’appuyer sur l‘UEFI (Unified Extensible Firmware Interface), plus moderne. Ces deux applications collectent diverses données matérielles et proposent, entre autres, une liste complète de tous les lecteurs disponibles de l’appareil.

Une fois lancé, le firmware consulte les uns à la suite des autres les différents supports connectés pour y rechercher un bootload, qui lui permet d’identifier la signature dite d’amorçage (également appelée « boot record »). Par défaut, cette recherche s’effectue d’abord sur les supports amovibles connectés ou insérés (CD/DVD, clé USB, disques durs externes, etc.), puis sur les disques durs internes. Le chargeur d’amorçage, ou sa signature, se trouve généralement dans le Master Boot Record (MBR), qui contient également les tables de partition du support concerné. Si un chargeur d’amorçage est trouvé, il est alors chargé et le démarrage du système est lancé. Si la recherche échoue, le firmware affiche un message d’erreur.

Conseil

Une fois que vous avez correctement installé votre système d’exploitation, son démarrage s’effectue via un chargeur d’amorçage, généralement situé sur la partition principale du disque dur. Cependant, si le système d’exploitation est endommagé et qu’il est nécessaire de le réinstaller, vous devrez vous reporter sur un support de démarrage amovible (si aucun autre système d’exploitation n’est installé sur l’ordinateur). Nous vous expliquons comment convertir une clé USB ordinaire en un support de démarrage entièrement fonctionnel dans notre guide.

Où les chargeurs d’amorçage sont-ils stockés ?

Il existe deux variantes courantes pour l’emplacement des bootloaders :

  1. Le premier bloc du support de démarrage ;
  2. Une partition spécifique du support de démarrage.

La première variante est étroitement associée à l’utilisation d’un master boot record, qui contient non seulement la référence au chargeur d’amorçage requis par le firmware, mais aussi le chargeur d’amorçage lui-même. Le premier bloc ou secteur de mémoire disponible du support est toujours réservé au MBR, qui est également appelé bloc de démarrage ou secteur de démarrage en référence à cette fonction primordiale.

Dans le second cas, le système d’exploitation utilise une partition sélectionnée comme emplacement de stockage pour le chargeur d’amorçage, dans la mesure où le système de fichiers sous-jacent et les tables de partitions utilisées peuvent se révéler très différents. Ici, le facteur décisif reste toujours le firmware, qui fournit toujours aussi un fichier au format spécifique au gestionnaire de démarrage. Par exemple, pour les appareils dotés d’un UEFI, le format est PE/COFF (Portable Executable / Common Object File Format).

Note

Un bootloader peut également être réparti sur plusieurs niveaux empilés les uns sur les autres. Ces chargeurs d’amorçage à plusieurs niveaux peuvent comprendre jusqu’à trois niveaux différents, exécutés en séquence. Ils sont généralement utilisés lorsque le programme de démarrage est trop grand pour le secteur d’amorçage.

Résumé des tâches du bootloader

Le bootloader sert d’intermédiaire entre le matériel et le système d’exploitation. Une fois initialisé par le firmware, il est chargé par le système de lancer le processus de démarrage. La première étape consiste à charger la mémoire principale, indispensable au fonctionnement du processeur.

Dans la deuxième étape, le bootloader charge le noyau du système d’exploitation : il s’agit du composant élémentaire du système, qui contrôle tous les accès à la mémoire et au processeur et contient tous les pilotes les plus importants. De plus, le chargeur d’amorçage exécute diverses autres tâches et commandes de routine, comme l’intégration des supports de stockage d’information. Certains bootloaders exécutent également des tâches qui vont au-delà du démarrage. Il peut s’agir par exemple des fonctions suivantes :

  • Détection et démarrage d’autres chargeurs d’amorçage disponibles ;
  • Exécution de programmes (courant dans les années 1980, pour exécuter des jeux vidéo directement à partir d’une disquette) ;
  • Correction de fonctions et d’entrées incorrectes ou manquantes dans le firmware ;
  • Chargement d’un autre firmware.

Une fois toutes les tâches accomplies avec succès, le chargeur d’amorçage transfère la responsabilité du système au noyau.

Quels sont les bootloaders connus ?

Nous avons passé en revue l’essentiel des faits les plus importants concernant les chargeurs d’amorçage. Le tableau suivant répertorie les bootloaders les plus connus et les plus utilisés :

Nom du chargeur d’amorçage Description
Bootmgr Programme de démarrage des systèmes d’exploitation de Microsoft depuis Windows Vista ou Windows Server 2008
NT-Loader (NTLDR) Programme de démarrage des systèmes d’exploitation de Microsoft jusqu’à Windows XP ou Windows Server 2003
Barebox Bootloader pour systèmes embarqués dans les imprimantes, appareils photo, voitures, avions, etc.
boot.efi Bootloader EFI utilisé sur les périphériques Mac depuis 2006
BootX Ancien chargeur d’amorçage des systèmes d’exploitation Mac
Grand Unified Bootloader (GRUB) Programme de démarrage gratuit pour les systèmes d’exploitation de type Unix, comme Linux
ARM Core Bootloader Chargeur d’amorçage pour microcontrôleurs (utilisé par exemple dans les iPhones)
OpenBIOS Gestionnaire de démarrage gratuit et portable sous licence GNU-GPL