Suite à une demande d'aide sur le forum, je me suis penchée sur un problème d'installation impossible de Grub lors d'une tentative de dual-boot Windows 7 / Ubuntu.
Le message d'erreur était le suivant L'exécution de grub-install/dev/sda a échoué. Cette erreur est fatale.
Une tentative de réinstallation de Grub ayant renvoyé un nouveau message d'erreur plus explicite, j'ai pensé à un problème avec l'UEFI, ce qui est fréquent…
BIOS, UEFI, MBR et GPT, tout cela était un peu confus pour moi.
Je profite du fait que c'est encore frais dans ma mémoire pour vous proposer un petit article qui résume ce que j'ai pu lire et comprendre au cours de mes recherches.
Je ne rentrerai pas dans les détails, j'ai simplement noté de la façon la plus accessible possible, les points qui m'ont semblé essentiels.
Lors du boot (démarrage) d'un ordinateur, la carte mère va lancer un programme appelé Bios. Il s'agit d'un petit logiciel implanté dans sa mémoire.
Le Bios, pour Basic Input Output System, en bon français Système élémentaire d'entrée sortie, est ce qu'on appelle un firmware, un programme intégré au matériel.
Sans le Bios (son remplaçant UEFI que l'on abordera plus tard, est appelé par abus de langage Bios UEFI), le démarrage de l'ordinateur est impossible.
Il est également possible de le flasher, c'est-à-dire mettre à jour l’EEPROM (la partie modifiable de la mémoire), mais c'est une opération risquée.
En effet une simple panne de courant à ce moment-là, et la carte mère risque de devenir inutilisable.
Il mémorise aussi la date et l'heure, et il est possible de régler certains paramètres de configuration (setup). Ces informations seront stockées dans une petite zone, le CMOS (Complementary Metal Oxide Semiconductor), alimenté par la pile présente sur la Carte Mère de type CR2032 généralement.
***
Les anciens Bios
L'apparence de l'ancien bios, appelé Bios Legacy ou Hérité en français, est plutôt austère, et la souris n'est pas utilisable.
Après quelques vérifications matérielles le POST (pour Power On Self Test), va faire le tour des périphériques dans l'ordre selon lequel ils sont listés, et s'arrêtera sur le premier qui contient un Boot Loader (chargeur d'amorçage).
Celui-ci se trouve dans le MBR pour Master Boot Record (enregistrement de démarrage principal) situé sur un petit secteur au tout début d'un disque dur, d'une clé USB ou d'un CD ou DVD (secteur 0).
Le MBR contient la première partie de l'amorçage du système d'exploitation (la seconde se trouvant dans la partition système).
Le chargeur d'amorçage va chercher un système d'exploitation et le lancer.
Depuis Vista, Windows utilise le BCD (Boot Configuration Data).
Linux quant à lui utilise Grub (GRand Unified Bootloader).
Le MBR contient également la table des partitions MS-DOS qui regroupe des informations sur le partitionnement (découpage du disque dur).
C'est en quelque sorte une table des matières des partitions qui précise où se trouve le début des partitions, leur type et leur taille.
***
Les nouveaux Bios UEFI
Le Bios, apparu en 1975, a par la suite été remplacé par l'UEFI, pour Unified Extensible Firmware Interface, en français Interface micrologicielle extensible unifiée.
Il est apparu en 2006 et équipe la plupart des ordinateurs depuis 2012.
L'interface graphique est bien plus agréable, et on peut outrepasser la limite de 2,2 To qui est imposée par l'ancien Bios en ce qui concerne la taille des disques.
Il offre aussi la possibilité de créer jusqu'à 128 partitions principales. Le Bios imposait quant à lui une limitation à 4 partitions primaires, ce qui pouvait cependant être contourné en utilisant des partitions logiques.
Il intègre également le fameux Secure Boot (lancement sécurisé) qui empêche l'installation des systèmes d'exploitation non reconnus, ce peut être le cas pour certaines Distributions Linux.
Ce lancement "sécurisé" vérifie s'il y a une correspondance avec les signatures numériques référencées dans la partie mémoire non modifiable de la carte mère, la ROM (Read Only Memory), et n'accepte l'installation que si cette condition est respectée.
Cette option était censée protéger l'ordinateur contre les virus de boot (rootkit ou bootkit) mais elle a bien sûr été déjouée, exemple avec le virus LoJax.
Windows 8 en a introduit la prise en charge, mais contrairement à ce qui est souvent dit, ce n'est pas une fonctionnalité de Windows mais un protocole mis en place par l'UEFI.
Les fichiers de démarrage ne se trouvent pas dans le secteur 0 comme avec l'ancien Bios, mais dans une petite partition EFI au format Fat32 de quelques centaines de Mo.
Créée lors de l'installation du premier système, elle sera utilisée par tous les futurs systèmes installés.
La lecture des données de cette partition permet de charger le système à démarrer en pointant vers un endroit précis des partitions systèmes installées (il s'agit de la deuxième partie de l'amorçage), qui va charger le système d'exploitation.
UEFI, contrairement au BIOS, est capable de gérer un nouveau système de partitionnement des disques appelé GPT pour Guid (Globally Unique IDentifier) Partition Table.
Il peut néanmoins continuer à utiliser le partitionnement MS-DOS géré par le MBR, mais en lecture uniquement.
Par contre, s'il s'agit d'un système à démarrer, il faudra impérativement activer le CMS (pour Compatibility Support Module). L'option peut aussi s'appeler Bios Legacy sur certains PC.
Elle est présente sur la plupart des ordinateurs. Ceci permet une compatibilité avec les anciens bios.
L'opération s'effectue dans les réglages du bios UEFI et ne sera possible qu'après désactivation du Secure Boot.
Le type de partitionnement GPT est plus sécurisé.
Les informations sont enregistrées en doublon à la fin du disque pour parer à d'éventuelles défaillances.
Son principal intérêt est de pouvoir gérer un disque de démarrage supérieur à 2,2 To.
Le cas inverse, l'utilisation d'un partitionnement GPT avec un bios Legacy semble possible en recréant des fichiers de démarrage, sur une clé USB par exemple, que l'on aura rendu active, mais les choses sont bien plus compliquées.
Pour ceux qui seraient intéressés : http://ikewdu.free.fr/demarrer-w10-sur-disque-gpt-en-mode-legacy/
***
Cas du multiboot
Il est important de savoir qu'il n'est pas possible d'avoir deux types de partitionnement différents.
Tous les systèmes doivent être installés de la même façon, soit MBR, soit GPT.
Il est conseillé d'installer Linux après Windows.
Cas de l'installation de Grub sur sdX (avec un Bios Legacy) :
La première partie de Grub (présente dans le secteur 0) écrase le MBR compatible Windows et celui-ci démarre alors depuis le Grub qui va détecter tous les systèmes installés et créer un menu permettant de choisir et de lancer l'un d'entre eux.
J'ai lu aussi qu'installer Grub sur la partition racine de Linux (sdX1 par exemple) au lieu de sdX comme il est préconisé de faire habituellement, puis placer le drapeau de boot sur cette partition (avec Gparted par exemple), permet de conserver le démarrage de Windows en cas de suppression de Linux. À vérifier cependant.
Voilà, j'espère que vous aurez appris quelques petites choses et que cet article ne vous aura pas paru trop nébuleux.
Mia
Les autres articles de Mia
SOSPC c'est plus de 2000 articles,
Rejoignez la Communauté à partir de 2 € par mois !
Plus d'infos sur les avantages en cliquant ICI.
Christophe, Administrateur