# Intel-Partitionstabelle

### From CGSecurity

## Wie ist die Partitionstabelle geschrieben?

CHS (Cylinder, Head, Sector)-Werte sind von einer eingestellten Anzahl von Bits für jeden Wert in der 16-Byte-Partitionstabelle begrenzt auf: 1023,254,63. Also können LBA und CHS-Werte nicht gleich für Festplatten größer als 8 GB sein.

Es gibt zwei Arten, den CHS-Wert zu speichern:

- erste Weg

     konvertiere LBA zu CHS,
     speichere (cylinder & 0x3FF, head & 0xFF, sector & 0x3F)

Das ist was Partition Magic (Versionen früher als 8.0?) macht.

- zweite Weg

     konvertiere LBA zu CHS
     if cylinder <= 1023,
       speichere (cylinder & 0x3FF, head & 0xFF, sector & 0x3F)
     else
       speichere (1023, max_head & 0xFF, max_sector & 0x3F)

Dies ist, was Linux-fdisk und TestDisk tun.

Wenn TestDisk die Partitionstabelle überprüft, berücksichtigt es das beide Wege richtig sein können. Aber der zweite Weg ist besser, weil der CHS-Anfang ist immer niedriger oder gleich zum CHS-Ende.

Beispiel: Die logische Geometrie einer Festplatte sind 255 Köpfe pro Zylinder und 63 Sektoren pro Kopf. Eine Partition beginnt bei LBA=46781280 oder CHS=2912,0,1. Diese Partition endet bei 3072,254,63.

- Erste Weg:

     Start:  864,  0, 1
     Ende:      0,254,63

- Zweite Weg:

     Start: 1023,254,63
     Ende:   1023,254,63

NB: 1023 = 0x3FF (1023*255+254)*63+63-1=16450559 (2912*255+ 0)*63+ 1-1=46781280

Partition Magic (vor Version 8,0?) betrachtet den zweiten Weg als ungültig; obwohl es ein vereinbarter Standard ist. TestDisk bearbeitet beides, ohne sich zu beschweren.

Zurück zur TestDisk Hauptseite

Category: Data Recovery

##### Data Recovery

- TestDisk
- PhotoRec
- download