# Table de partition INTEL

### From CGSecurity

## 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 TestDisk page principale

Categories: Data Recovery

##### Data Recovery

- TestDisk
- PhotoRec
- Download