Table de partition d'un disque dur : explications
Le dimanche 26 Octobre 2003 à 00:00 par Kikof
- 1 - Description générale
- 2 - Descripteurs de partition (1)
- 3 - Descripteurs de partition (2)
- 4 - Le programme de démarrage de la table
- 5 - Sous-programme de contrôle
- 6 - Suite et fin.
La table de partition, ou Master Boot Record en anglais (MBR), désigne le premier secteur accessible d'un disque dur physique. Elle contient la table des descripteurs de partitions, un programme de démarrage et une signature spéciale. Ce dossier vous présente dans le détail l'ensemble de ces éléments.
Table de partition d'un disque dur : explications
Requis: Connaissance de la numérotation hexadécimale, binaire.
Le suffixe « h » ou préfixe « 0x » signifie que le nombre est exprimé en hexadécimal.
Souhaitable: Connaissance de l’assembleur 8086 (mode réel).
1. Description générale:
La table de partition ou Master Boot Record en anglais (MBR) désigne le premier secteur accessible d’un disque dur physique.
Elle est toujours située sur le cylindre N°0, secteur N°1 (lanumérotation commence à 1 pour les secteurs) avec la tête de lectureN°0.
Notons que certains font la différence entre MBR et partition table, cequi est effectivement justifié mais je ne souhaite pas entrer dans detels détails sémantiques car il y a bien trop de choses à dire parailleurs.
La façon d'adresser un disque dur est variable selon le niveau où l'on se place.
A la base, il s'agit de particules magnétisées représentant des 0 ou des 1.
La succession de ces 0 et 1 forment les données binaires que l'onconnaît mais ce n'est pas aussi simple que 0=0 et 1=1 (cf. encodagesRLL et consorts).
Lors du formatage de bas niveau ces valeurs binaires sont découpées enzones de 512 octets (4096 bits) entre lesquelles se trouvent des bitspermettant le contrôle de la validité des données de chacune de ceszones (CRC: redondance cyclique). Ces zones sont appelées "secteurs".
Le formatage de haut niveau implante un système de fichiers dont l'unedes caractéristiques est de découper le disque dur en lots de secteursappelés unités d'allocation ("clusters").
L’accès à un disque dur au niveau du BIOS se fait non pas en terme defichiers ni même en numéro de secteurs (sauf avec certaines extensionsdu BIOS) mais en précisant l’endroit où la zone visée (en fait lesecteur de 512 octets) doit être lue ou écrite.
Il convient de désigner sur quelle zone (appelée également secteur) dequel cylindre et avec quelle tête de lecture l’opération doit êtreeffectuée. Cet accès est donc de type « géométrique » puisquel’on fait explicitement référence à une zone physique du disque dur(bien qu'en fait cela ne reflète pas la réalité de l'emplacement dusecteur en question sur le disque dur).

Total = 512 octets soit un secteur entier
Une table de partition n’est donc pas qu’une table.
Elle contient, outre la table (descripteurs de partitions), unprogramme qui est exécuté à chaque démarrage de l’ordinateur (programmede démarrage) et une signature spéciale (marque de secteur exécutable)dont nous verrons l’utilité juste ci-dessous.
2. Démarrage d’un ordinateur compatible PC:
Il n’est pas question ici de décrire en détail le démarrage d’un PCmais simplement de donner les éléments qui concernent la table departition.
La partie intéressante se situe dans la manière dont le BIOS sait quele premier secteur d’un disque donné est exécutable ou pas,c'est-à-dire s’il contient un programme en langage machine prévu à ceteffet.

Elle contient, outre la table (descripteurs de partitions), unprogramme qui est exécuté à chaque démarrage de l’ordinateur (programmede démarrage) et une signature spéciale (marque de secteur exécutable)dont nous verrons l’utilité juste ci-dessous.
2. Démarrage d’un ordinateur compatible PC:
Il n’est pas question ici de décrire en détail le démarrage d’un PCmais simplement de donner les éléments qui concernent la table departition.
La partie intéressante se situe dans la manière dont le BIOS sait quele premier secteur d’un disque donné est exécutable ou pas,c'est-à-dire s’il contient un programme en langage machine prévu à ceteffet.

En fait, le BIOS ne peut pas en être sûr mais si iltrouve la signature caractéristique d’un secteur exécutable alors ilsuppose qu’il l’est. Cette signature appelée « marque de secteurexécutable » est constituée de deux octets qui terminent le secteur enquestion. Ces octets doivent être 55 AA (hexadécimal). Il s’agit bienévidemment d’une convention que tous les BIOS et tous les systèmesd’exploitation respectent.
Cette marque est quelquefois appelée également « repère AA55 ».
Ensuite, le contrôle est transféré à ce programme et c’est lui qui estchargé de trouver la partition active et ensuite de transférer lecontrôle au secteur de démarrage (secteur de boot) correspondant à lapartition en question. Mais nous verrons cela dans le paragraphe 4.
Cette marque est quelquefois appelée également « repère AA55 ».
Ensuite, le contrôle est transféré à ce programme et c’est lui qui estchargé de trouver la partition active et ensuite de transférer lecontrôle au secteur de démarrage (secteur de boot) correspondant à lapartition en question. Mais nous verrons cela dans le paragraphe 4.

Poser une question

Suivre les commentaires