Menü Geometrie

From CGSecurity
Jump to: navigation, search

En.png English De.png Deutsch Es.png Español Fr.png Français


Platten-Geometrie

TestDisk 6.2-WIP, Data Recovery Utility, November 2005
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org


Disk /dev/sda - 120 GB / 111 GiB - CHS 14593 255 63, sector size=512

Because these numbers change the way that TestDisk looks for partitions
and calculates their sizes, it's important to have the correct disk geometry.
PC partitionning programs often make partitions end on cylinder boundaries.

A partition's CHS values are based on disk translations which make them
different than its physical geometry. The most common CHS head values
are: 255, 240 and sometimes 16.




[ Cylinders ]  [   Heads   ]  [  Sectors  ]  [Sector Size]  [    Ok     ]





                          Done with changing geometry

Ändern der Festplattengeometrieparameter (Cylinders, Heads, Sectors).

PC-Partitionierungsprogramme machen oft (immer) am Partitionsende Zylinderbegrenzungen (cylinder boundaries). CHS-Nummern ändern die Art, wie TestDisk Partitionen sucht und ihre Größen berechnet, etc. Es wirkt sich nicht selbst auf die Festplatte aus, es sei denn, es werden tatsächlich Daten über verlorene Partitionen auf das Laufwerk geschrieben. Das Wählen der falschen Geometrie-Einstellungen und anschließendes speichern von irgendwelchen verlorenen Partitionen, die auf jenen fehlerhafte Einstellungen basieren, könnte eine Wiederherstellung der Daten schwerer oder unmöglich machen.

Einige Hintergrundinformationen

Um auf Daten zuzugreifen, benutzen moderne Betriebssysteme die Logische Block Adressierung (LBA). Festplatten-Sektoren sind von 0, 1, 2, bis zu N 1 nummeriert, wobei N die Gesamtzahl der Sektoren ist.

Aber, bevor IDE-Platten, größer als 8 GB und SCSI-Platten, existierten, wurde eine andere Methode benutzt. Um auf Daten zuzugreifen, verwendeten das BIOS und das Betriebssystem (Dos/Win9x) die CHS-Adressierung. CHS-Werte sind auf 1023 Zylinder, 255 Köpfe und 63 Sektoren (8 GB) beschränkt. Ein verbreiteter Trick mit Festplatten größer als 504 MB (1023 Zylinder, 16 Köpfe, 63 Sektoren) war, eine andere Geometrie (Zylinder/Köpfe/Sektor) zu verwenden als die physische Geometrie (Erweiterte CHS oder Large Mode Addressing).

Eine von BIOS verwendete Methode ist die Partitionstabelle zu lesen und die Anzahl von Köpfen zu schätzen. Wenn die Partitionstabelle gelöscht oder beschädigt ist, wird die physische Plattengeometrie stattdessen verwendet. Es wird dann für Partitionswiederherstellungsprogramme schwerer, verlorene Partitionen auf der Festplatte zu finden.

Dieses Problem ist nicht nur auf DOS-Benutzer beschränkt. Linux-Benutzer können auch betroffen sein. Unter Linux, führe dmesg aus und suche nach Partition check. Im folgenden Beispiel ist die Geometrie der Festplatte hdc durch die Partitionstabelle ('PTBL) festgelegt.

Partition check:
 hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 hda13 >
 hda3: <bsd: hda14 hda15 hda16 hda17 >
 hdc: [PTBL] [7476/255/63] hdc1 < hdc5 hdc6 hdc7 hdc8 hdc9 hdc10 hdc11 hdc12 hdc13 >

Wie die richtige Anzahl von Heads (Köpfen) gefunden werden kann?

Wenn die Festplatten-Geometrie zur verwendeten Geometrie während der Erstellung der Partitionstabelle abweicht, werden Warnmeldungen wie: Bad sector count, Bad relative sector oder Bad ending head angezeigt, wenn das Menü Analyse vom Hauptmenü ausgewählt ist. Wenn du solche Fehler siehst, kann es sein, dass du das Geometriemenü verwenden musst, um die logische Anzahl von Heads (Köpfen) zu ändern. Versuche 255, 16, 32, 64, 128 und 240 Heads (Köpfe) bis das TestDisk alle deine Partitionen findet. 255 und 240 sind die am meisten verbreiteten Werte bei Heads. Wenn Linux als einziges Betriebssystem auf deiner Festplatte installiert wurde, tendiert es standardmäßig zu nur 16 Heads.

Wie bekommt TestDisk die Plattengeometrie?

  • Unter DOS, erhält TestDisk die Plattengrößen unter der Verwendung der erweiterten Bios-Funktion (ah=0x48, int 0x13), und die Geometrie (Nummer von Heads und Sectors) unter Verwendung der Standard-BIOS-Funktion (ah=0x08, int 0x13). TestDisk benutzt die Standard-Sektorgröße von 512 Bytes.
  • Unter Windows, TestDisk erhält die Nummer der Cylinder, Heads und Sectors, und die Sektorgröße unter der Verwendung des DeviceIoControl-Aufrufs, IOCTL_DISK_GET_DRIVE_GEOMETRY.
  • Unter Linux, TestDisk erhält die Sektorgröße unter Verwendung von BLKSSZGET ioctl, und die Geometrie unter Verwendung von HDIO_GETGEO_BIG oder HDIO_GETGEO ioctl; die Plattengrößen kommen von BLKGETSIZE64 oder BLKGETSIZE.
  • Unter BSD, TestDisk erhält alle Informationen unter Verwendung von DIOCGDINFO. Wenn dieses fehlschlägt, nimmt TestDisk an, dass die Sektorgröße 512 Byte ist, und verwendet DIOCGFWSECTORS, DIOCGFWHEADS und DIOCGMEDIASIZE, um alle anderen Parameter zu bekommen.
  • Unter Sun Solaris, TestDisk verwendet die Standardsektorgröße von 512 Byte und erhält die Anzahl von Cylinders, Heads und Sectors unter Verwendung von DKIOCGGEOM ioctl.

Einige Tipps zur Geometrie

Wie kann die richtige Anzahl von Köpfen (Heads) gefunden werden?

Wenn die Festplatten-Geometrie zur verwendeten Geometrie, als die Partitionstabelle erstellt wurde abweicht, werden Warnmeldungen wie: Bad sector count, Bad relative sector oder Bad ending head angezeigt, sowie das Menü Analyse vom Hauptmenü gewählt wurde. Werden solche Fehler angezeigt, solltest du das Menü Geometry benutzen, um die logische Anzahl der Heads (Köpfe) zu ändern. Versuche 255, 16, 32, 64, 128 und 240 Heads (Köpfe) bis TestDisk alle Partitionen findet. 255 and 240 sind die am meisten verbreiteten Head (Kopf)-Werte. Wenn Linux als einzigstes Betriebssystem installiert ist,tendiert es zu den Standard von nur 16 Heads (Köpfe).

Wie wird die korrekte Anzahl der Sektoren gefunden?

Die Anzahl von Sektoren pro Kopf ist normalerweise immer 63, aber bei einigen USB-Geräten kann auch der Wert 32 gefunden werden.

Zurück zu Ausführen von TestDisk