Summary

Ce document présente les concepts de MBR (Master Boot Record) et GPT (GUID Partition Table). Il détaille leur rôle dans le démarrage d'un ordinateur et la gestion des partitions de disque. Les différences clés entre les deux systèmes sont mises en évidence, ainsi que leurs points faibles et leurs points forts.

Full Transcript

# Qu'est-ce que le MBR ? Le Master Boot Record (MBR) est une petite zone de données située dans le premier secteur d'un disque dur, souvent désignée comme le « secteur zéro ». Cette zone est cruciale car elle contient des informations essentielles nécessaires au démarrage de l'ordinateur. On l'appe...

# Qu'est-ce que le MBR ? Le Master Boot Record (MBR) est une petite zone de données située dans le premier secteur d'un disque dur, souvent désignée comme le « secteur zéro ». Cette zone est cruciale car elle contient des informations essentielles nécessaires au démarrage de l'ordinateur. On l'appelle également « bloc de démarrage principal ». Le MBR joue un rôle clé dans le processus de démarrage d'un ordinateur. Lorsqu'on allume l'ordinateur, le BIOS (Basic Input/Output System) effectue un certain nombre de vérifications. L'une de ses premières actions consiste à examiner le MBR pour y trouver le chargeur de démarrage (bootloader). Ce chargeur est un programme qui permet de charger le système d'exploitation dans la mémoire principale de l'ordinateur, ce qui initie le processus de démarrage. Nous examinerons plus en profondeur le fonctionnement du bootloader dans la prochaine section du cours. Le MBR contient également la table des partitions, qui définit comment le disque est structuré. Une partition de disque est une partie d'un disque dur qui peut être utilisée pour stocker des fichiers ou installer un système d'exploitation. Cette table de partition inclut des informations sur les partitions présentes sur le disque, comme leur taille, leurs secteurs de début et de fin, et le type de système de fichiers utilisé. ## Composants de MBR (Master boot record) Le Master Boot Record (MBR) se compose de trois éléments significatifs nécessaires au processus de démarrage: | Composant | Description | |---|---| | **Bootstrap Code** | C'est un petit programme exécuté lorsque l'ordinateur démarre après que le BIOS a chargé le MBR. Sa principale fonction est de trouver la partition active, qui est marquée pour charger le système d'exploitation, et de transférer le contrôle au chargeur d'amorçage (bootloader) de cette partition. | | **Partition Table** | Cette table contient des informations sur les partitions présentes sur le disque. Elle indique la position et la taille de chaque partition, ainsi qu'un indicateur qui marque la partition active, celle à partir de laquelle le système d'exploitation sera chargé. | | **Boot Signature** | La boot signature se réfère aux deux derniers octets du MBR, toujours fixés à 0x55AA sur tous les ordinateurs modernes. Ce code est utilisé par le BIOS pour vérifier si le périphérique de démarrage sélectionné peut réellement démarrer. Lors du chargement du MBR, le BIOS examine ces octets. S'ils ne correspondent pas à 0x55AA, le BIOS passe au périphérique suivant dans la liste de démarrage configurée (comme une clé USB ou un disque dur). En l'absence de toute signature correcte, le BIOS affichera un message d'erreur comme "No boot device is available" ou "Reboot and select proper boot device". | ## Caractéristiques de MBR - **Capacité de chargement du démarrage:** Dans le MBR, le code du chargeur de démarrage est présent. Le chargeur de démarrage, qui est utile pour charger le système d'exploitation dans la mémoire principale, appelé processus de démarrage. - **Facilité d'utilisation:** Il est très facile à utiliser, de sorte que les utilisateurs peuvent facilement gérer et entretenir leurs partitions de disque avec MBR. - **Identification du disque:** Pour reconnaître le disque, le MBR utilise une signature de disque. - **Compatibilité:** La majorité des systèmes d'exploitation, y compris Windows, Linux et macOS, ainsi qu'une grande variété d'appareils utilisent le Master Boot Record (MBR). ## Limitations du Master Boot Record (MBR) - **Capacité du disque:** MBR ne peut être compatible qu'avec des disques d'une taille maximale de 2 To, il ne peut donc pas être utilisé pour des disques d'une taille supérieure. - **Limitation due à l'ancien BIOS:** MBR ne peut pas être utilisé avec des systèmes UEFI (Unified Extensible Firmware Interface) plus récents, car il ne peut être utilisé qu'avec des systèmes BIOS (Basic Input/Output System) antérieurs. - **Manque de redondance:** le MBR ne dispose d'aucun mécanisme de redondance intégré, de sorte que des dommages au MBR pourraient empêcher un système de démarrer. - **Partitions limitées:** le MBR peut prendre en charge jusqu'à quatre partitions principales, ou trois partitions primaires et une partition étendue. L'évolution des besoins en stockage et les limitations du Master Boot Record (MBR) ont conduit à l'apparition de GPT (GUID Partition Table). # Qu'est-ce que le GPT ? Le GUID Partition Table (GPT) est une structure de données utilisée sur les disques durs et autres périphériques de stockage, principalement dans les systèmes compatibles avec l'EFI (Extensible Firmware Interface). Contrairement au MBR, le GPT utilise des identifiants uniques (GUID) pour chaque partition sur le disque. Cette approche avancée permet une gestion efficace des partitions, même sur des disques de grande capacité. Le rôle central du GPT réside dans la gestion des partitions et le démarrage des ordinateurs équipés de l'UEFI. Au démarrage, le firmware UEFI utilise les informations du GPT pour localiser le chargeur de démarrage du système d'exploitation ainsi que toutes les données relatives aux partitions. En plus de la table des partitions, le GPT inclut des informations de secours qui renforcent la résilience du système, assurant une intégrité accrue des données et une récupération améliorée en cas de panne. ## Structure GPT La GUID Partition Table (GPT) utilise un système moderne d'adressage par blocs logiques (LBA), remplaçant la méthode obsolète d'adressage par cylindre-tête-secteur (CHS) utilisée par le Master Boot Record (MBR). Par convention, chaque bloc LBA fait généralement 512 octets, correspondant ainsi à un secteur. La structure de la GPT est organisée en plusieurs éléments clés: - **Protective MBR (LBA 0):** Le MBR protecteur est intégré au début d'un disque pour protéger le schéma de partition GPT. Son rôle principal est d'empêcher les utilitaires de disque (les logiciels conçus pour gérer les disques durs), qui ne reconnaissent que le MBR, de mal interpréter et éventuellement d'écraser le disque GPT. L'ensemble du disque GPT est étiqueté comme une seule partition avec I'ID système OxEE, indiquant qu'il utilise le GPT. Ainsi, même si un système d'exploitation non compatible détecte le disque, il le considère comme inaccessible, évitant ainsi toute écriture accidentelle. - **Primary GPT Header (LBA 1):** L'en-tête GPT primaire est un composant essentiel de la table de partitionnement GUID (GPT), enregistré dans le deuxième bloc du support de stockage (LBA 1), juste après le MBR. Il définit les blocs utilisables du disque, ainsi que le nombre et la taille des entrées de partition dans la table de partitionnement. - **Entrées de partition (LBA 2 à LBA 33):** Cette zone contient les entrées individuelles pour chaque partition définie sur le disque et décrit jusqu'à 128 partitions. Chaque entrée fournit des informations détaillées sur la partition, y compris son type, sa taille, les adresses LBA de début et de fin, ainsi qu son GUID unique. - **Partitions (LBA 34 et suivantes):** C'est là que les données réelles des partitions sont stockées. - **Secondary GPT Header (LBA-1):** Il s'agit d'une copie miroir de l'en-tête GPT primaire, enregistrée dans le GPT secondaire, située à la fin du disque. Il sert de sauvegarde en cas de corruption de l'en-tête primaire. - **Entrées de partition secondaires (LBA -2 à LBA -33):** Il s'agit d'une copie miroir du tableau des partitions primaire, enregistrée dans le GPT secondaire. ==> L'adresse LBA d'un secteur de données est simplement un numéro unique pris dans l'intervalle [0... N] où N est le nombre total de secteurs du support. Comme 0 est le numéro du tout premier secteur de données c'est N - 1 le numéro du dernier (et non pas N). # GPT vs MBR : Pourquoi Choisir la GUID Partition Table ? Les systèmes de partitionnement MBR et GPT sont conçus pour gérer l'organisation des données sur les disques durs, mais GPT offre des avantages significatifs en matière de capacité, d'intégrité des données et de fiabilité. Voici quelques-uns des principaux atouts de GPT par rapport à MBR: - **Prise en charge des disques de grande capacité:** Contrairement au MBR, qui est limité à des disques de 2 To maximum, le GPT peut gérer des disques de 9,4 ZB (chaque ZB représente 1 milliard de To). - **Nombre de partitions:** Le GPT permet la création d'un nombre beaucoup plus élevé de partitions par rapport au MBR. Alors que le MBR est limité à 4 partitions primaires, le GPT peut gérer jusqu'à 128 partitions primaires. - **Redondance et fiabilité:** Les disques partitionnés GPT disposent d'une table de partitions principale ainsi que d'une sauvegarde redondante. GPT conserve les données sur plusieurs zones du disque, avec une copie de sauvegarde en tant que table GPT secondaire pour la récupération (Secondary GPT). En revanche, l'inconvénient du MBR est le stockage des données au même endroit sans sauvegarde, ce qui accroît le risque de corruption et de défaillance du système. - **Intégrité des Données:** Le GPP utilise le CRC un algorithme de détection d'erreurs qui joue un rôle crucial pour assurer l'intégrité des données. Il est calculé sur différents éléments de la table GPT, notamment l'en-tête primaire et secondaire, ainsi que le tableau des partitions primaire et secondaire.il permet de vérifier si les informations contenues dans ces éléments n'ont pas été corrompues. Si une erreur se produit lors de l'écriture ou de la lecture des données de la table GPT, le CRC calculé ne correspondra plus à la valeur attendue. Le système d'exploitation pourra alors détecter cette erreur et prendre les mesures appropriées, comme lancer une procédure de récupération des données. MBR n'avait aucun moyen de savoir si ses données étaient corrompues - vous ne voyiez qu'il y avait un problème que lorsque le processus de démarrage échouait ou que les partitions de votre disque disparaissaient. # EFI SYSTEM PARTITION Une partition système EFI (ESP) est une petite partition essentielle située sur les disques durs formatés avec le standard GPT. Elle est cruciale pour le démarrage des ordinateurs utilisant le firmware UEFI. Généralement comprise entre 100 et 250 Mo, l'ESP est souvent positionnée en première partition du disque (par exemple, /dev/sda1). Elle contient les fichiers nécessaires au démarrage des systèmes d'exploitation, tels que les chargeurs de démarrage (bootloaders) et les fichiers de configuration requis par UEFI pour initier le système d'exploitation. Si votre disque dur est initialisé avec le schéma de partitionnement GUID (GPT), une partition système EFI (ESP) est automatiquement générée lors de l'installation du système d'exploitation. Les systèmes d'exploitation modernes, comme Windows et Linux, incluent cette étape dans leur processus d'installation Sous une machine Linux, les fichiers courants que l'on trouve dans une partition ESP, généralement située sous le chemin /boot/efi/EFI, incluent: ``` root@esprit-virtual-machine:~# cd /boot/efi/EFI/ root@esprit-virtual-machine: /boot/efi/EFI# ls BOOT ubuntu root@esprit-virtual-machine: /boot/efi/EFI# ls BOOT/ BOOTX64.EFI fbx64.efi mmx64.efi root@esprit-virtual-machine:/boot/efi/EFI# ls ubuntu/ BOOTX64.CSV grub.cfg grubx64.efi mmx64.efi shimx64.efi ``` - **BOOTX64.EFI:** Il est souvent sélectionné automatiquement par le firmware UEFI comme chargeur de démarrage principal si aucun autre n'est configuré. Il est également fréquemment utilisé comme chargeur de démarrage de secours lorsque d'autres options ne sont pas disponibles. - **fbx64.efi:** Ce fichier est utilisé pour gérer les entrées NVRAM (Non-Volatile Random Access Memory). L'NVRAM stocke des informations de configuration importantes, comme l'ordre de démarrage. Si certaines entrées sont manquantes, fbx64.efi peut tenter de les restaurer. - **shimx64.efi:** Il permet le démarrage de GRUB2, un chargeur de démarrage populaire, ou d'autres chargeurs de démarrage tout en respectant les exigences de Secure Boot, si ce dernier est activé. Il sert d'intermédiaire entre le firmware UEFI et le chargeur de démarrage principal. - **mmx64.efi:** le MOK (Machine Owner Key) est une clé cryptographique qui est utilisée pour vérifier la signature numérique des logiciels. Le fichier mmx64.efi gère le MOK et permet de sécuriser davantage le processus de démarrage en autorisant uniquement l'exécution des composants et pilotes du système d'exploitation approuvés. - **grubx64.efi:** Il s'agit du fichier exécutable du chargeur de démarrage (bootloader) GRUB, utilisé dans les systèmes EFI. Ce fichier est responsable du chargement et de la présentation du menu GRUB, à partir duquel l'utilisateur peut sélectionner le système d'exploitation à démarrer. - **BOOTX64.CSV:** C'est un fichier lu lors de l'installation pour ajouter une entrée de démarrage dans la NVRAM du système.

Use Quizgecko on...
Browser
Browser