Intel-Partitionstabelle

From CGSecurity
(Redirected from Intel Partitionstabelle)
Jump to navigation Jump to search

En.png English De.png Deutsch Es.png Español Fr.png Français Ru.png Русский


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:

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

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

  • zweiter Weg
 konvertiere LBA zu CHS
 wenn cylinder <= 1023,
   speichere (cylinder & 0x3FF, head & 0xFF, sector & 0x3F)
 sonst
   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