Table de partition Intel
Comment la Table de Partition est-elle écrite ?
Une entrée en table des partitions occupe 16 octets. La position et la taille d'une partition sont représentées sous les formats CHS et LBA. Le format CHS (Cylindre, Tête (head), Secteur) utilisé dans les entrées de la table des partitions est limité par sa conception ancienne, ainsi les valeurs maximales CHS sont respectivement 1023,254,63. Donc le format CHS ne peut définir une partition se terminant après 8 Go.
Il y a deux manières de stocker une valeur CHS:
- première méthode
convertir LBA en CHS, stocker (cylindre & 0x3FF, tete & 0xFF, secteur & 0x3F)
C'est ce que Partition Magic fait (version précédente à la 8.0?).
- seconde méthode
convertir LBA en CHS if cylindre <= 1023, stocker (cylindre & 0x3FF, tete & 0xFF, secteur & 0x3F) else stocker (1023, max_tete & 0xFF, max_secteur & 0x3F)
C'est ce que fdisk de Linux et TestDisk font.
Lorsque TestDisk vérifie la table de partition, il considère que
les deux méthodes peuvent être correctes. Mais la deuxième méthode est préférable car les données restent cohérentes: le CHS de début est toujours plus petit ou égal au CHS de fin.
Exemple: La géométrie d'un disque dur est de 255 têtes par cylindre et de 63 secteurs par tête. Une partition commence à LBA=46781280 ou CHS=2912,0,1. Cette partition finit à 3072,254,63.
- Première méthode:
début: 864, 0, 1 fin: 0,254,63
- Seconde méthode:
début: 1023,254,63 fin: 1023,254,63
NB: 1023 = 0x3FF
(1023*255+254)*63+63-1=16450559
(2912*255+ 0)*63+ 1-1=46781280
Partition Magic (avant la version 8.0?) considérait la seconde méthode comme invalide alors même qu'il s'agit d'un standard. TestDisk supporte les deux méthodes de stockage sans signaler de problème.
Retour à la page principale de TestDisk.