Heute behandeln wir den strukturellen Aufbau von FAT-Partitionen und wie deren Informationen sich hexadezimal interpretieren lassen.
| Skript-Anfang | Kapitel 4 – Seite 1 |
|---|---|
| Skript-Ende | Kapitel 4 – Seite 31 |
FAT-Analyse
Wie ist eine FAT-Partition aufgebaut?
- Sie besteht aus drei Teilen
- Reserved Area bzw. Bootsektor
- FAT Area
- Data Area
Beispiel
- Die Blockgröße der Partition beträgt 4096 Byte
- Ein Eintrag im Root-Directory ist immer 32 Byte groß
- Ein Eintrag enthält Dateigröße, Name und erstes Cluster
- Die Datei belegt Cluster 50, 51, 52, 160 und 130

Welche Informationen sind in der reserved area zu finden?
- Blockgröße
- Größe des Dateisystems
- Wurzelverzeichnise (Root-Directory)
- uvm.
Welche Informationen sind in der data area zu finden?
- Dateien und Verzeichnisse liegen hier
- Die Verzeichnisse sind hierarchisch unter dem Root-Directory angesiedelt (dieses Verhalten gilt für alle Dateisysteme)
Was sind Cluster?
- Logische Zusammenfassung von Sektoren eines Datenträgers.
- Dateien sind in Clustern verteilt
- Diese Cluster sind wie verkettete Listen aufgebaut
- Die kleinste Cluster-Adresse ist 2 (aber dessen Position kann sich in den FAT-Versionen unterscheiden)
Beispiel
Wie viele Cluster belegt die oben abgebildete Datei?
- Bei 4096 Byte pro Cluster belegt sie fünf Cluster
- Wäre die Clustergröße kleiner, würde sie mehr Cluster belegen
- Sie ist fragmentiert, da sie mehr als 1 Cluster belegt
Beispiel
Was passiert, wenn die oben abgebildete Datei gelöscht wird?
- Die Cluster 50, 51, 52, 130 und 160 werden genullt
- Das erste Zeichen des Dateinamens wird durch ein nicht-druckbares Zeichen ersetzt
- Daher weiß das Dateisystem, dass der Eintrag frei ist
Wie berechnet sich die Position von Cluster 2 bei FAT12 und FAT16?
- 32 Byte großer Eintrag im Root-Directory * Anzahl der Einträge + 2 * FAT + Größe der Reserved Area
Übung
- Blockgröße = 0x0002 → 02 00 = 512 Byte
- Clustergöße = 0x20 = 32 * 512 Byte = 16384 Byte = 16 KiB
- Größe der res. Area = 0x0100 → 0001 = 1
- Anzahl der FATs = 0x02 = 2
- Größe der FAT = 0xf300 → 00 f3 = 243 HDD Blöcke
- Max. Anzahl an Verzeichniseinträgen = 0x0002 → 02 00 = 512
