File Allocation Table
aus Wikipedia, der freien Enzyklopädie
Das File Allocation Table (FAT [fæt]; auf Deutsch etwa „Dateizuordnungstabelle“) ist ein Dateisystem und wurde von Seattle Computer Products für dessen Betriebssystem QDOS, dem direkten Vorgänger von MS-DOS, entwickelt.
Inhaltsverzeichnis |
[Bearbeiten] Hintergrund
FAT war die einzige bedeutende Neuerung von QDOS gegenüber CP/M. Nach langen Rechtsstreitigkeiten und einem zweijährigen Patentierungsverfahren wurde am 10. Januar 2006 das Patent und die damit verbundene enorme Marktmacht für FAT (FAT12, -16, -32, etc.) der Herstellerfirma Microsoft zugesprochen. Das deutsche Bundespatentgericht erklärte eines der beiden diesen Schutz begründenden Patente, bzgl. eines gemeinsamen Speicherbereich für lange und kurze Dateinamen – DE 69429378 bzw. EP 0618540 oder US 5,758,352 – jedoch durch Urteil vom 26. Oktober 2006 – Akz. 2 Ni 2/05 (EU) – für nichtig.[1] Zu der Familie der FAT-Dateisysteme gehören:
- FAT12 (wird heute immer noch für jede DOS- oder Windows-Diskette gebraucht)
- FAT16 (wird heute meist auf allen Arten von mobilen Datenträgern verwendet, die kleiner als 2 GiB sind.)
- FAT32 (wird z. B. in allen Arten von mobilen Speichern von mehr als 2 GiB Kapazität genutzt. Von neueren DOS-Systemen unterstützt. WinXP kann auch auf FAT32 installiert werden, ist dadurch teilweise auch schneller.
- FATplus (Erweiterung für FAT16 (theoretisch) und FAT32, erhöht die maximale Größe einer Datei von 4 auf 256 GiB) (Wird derzeit unter anderem von Enhanced Dr-DOS unterstützt)
- (VFAT)
[Bearbeiten] Aufbau
Ein FAT-Dateisystem gliedert sich in sechs Bereiche:
Bootsektor | reservierte Sektoren | FAT 1 | FAT 2 | Stammverzeichnis | Datenbereich |
[Bearbeiten] Bootsektor
Der Bootsektor enthält einerseits ausführbaren x86-Maschinencode, der das Betriebssystem laden soll. An bestimmten Stellen enthält er jedoch Informationen über das FAT-Dateisystem.
Offset (hex) | Länge (in Bytes) | Inhalt | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 | 3 | x86-Maschinencode. In der Regel eine Sprunganweisung zum Boot-Code, um die Datenbytes im Bootsektor zu überspringen | ||||||||||||||||
03 | 8 | OEM Name (mit Leerzeichen aufgefüllt). MS-DOS ermittelt anhand dessen, welche Struktur die übrigen Daten im Bootsektor haben[2][3]. Übliche Werte sind IBM 3.3 (mit zwei Leerzeichen zwischen "IBM" und "3.3") und MSDOS5.0 . |
||||||||||||||||
0B | 2 | Bytes pro Sektor. (Gültige Werte sind: 512, 1024, 2048 und 4096. In der Regel ist der Wert 512) | ||||||||||||||||
0D | 1 | Sektoren pro Cluster (Zweierpotenz zwischen 1 und 64, ggf. auch 128) | ||||||||||||||||
0E | 2 | Anzahl reservierter Sektoren (inkl. Bootsektor, also stets mind. 1) | ||||||||||||||||
10 | 1 | Anzahl der FAT-Kopien (in der Regel: 2) | ||||||||||||||||
11 | 2 | Maximale Anzahl an Verzeichniseinträgen im Stammverzeichnis (Ungenutzt bei FAT 32 und stets 0000hex) | ||||||||||||||||
13 | 2 | Gesamtsektoranzahl des Mediums (max. 65535, bei größeren Medien ist dieser Wert 0 und der eigentliche Wert steht als 4-Byte-Wert an Offset 20hex. Bei FAT 32 stets ungenutzt. | ||||||||||||||||
15 | 1 | Media Descriptor Byte. Gilt als veraltet und wird ab Windows Server 2003 nicht mehr beachtet
|
||||||||||||||||
16 | 2 | Anzahl der Sektoren pro FAT. (Bei FAT 32 ungenutzt und stets 0000hex, siehe Offset 24hex.) | ||||||||||||||||
18 | 2 | Sektoren pro Spur | ||||||||||||||||
1A | 2 | Anzahl der Seiten bzw. Schreib-Lese-Köpfe | ||||||||||||||||
1C | 4 | Anzahl der versteckten Sektoren vor dem Bootsektor. Bei Festplatten ist dies die Anzahl der Sektoren zwischen Master Boot Record und Bootsektor der ersten primären Partition. Bei nicht partitionierten Medien stets 0. | ||||||||||||||||
20 | 4 | Gesamtsektoranzahl, falls größer als 65535 |
Anschließend unterscheiden sich die Daten, je nach FAT-Variante. Bei FAT 12 und FAT 16 folgt folgende Datenstruktur:
Offset (hex) | Länge (in Bytes) | Inhalt |
---|---|---|
24 | 1 | Physische Laufwerksnummer (00hex bei Disketten, 80hex, 81hex, … bei Festplatten) Ist nur für Bootlaufwerke relevant, da diese Nummer beim Booten für BIOS-Aufrufe zum Zugriff auf das Medium benutzt wird. |
25 | 1 | Reserviert (stets 00hex bei FAT 12/16) |
26 | 1 | Erweiterte Bootsignatur. |
27 | 4 | Dateisystems-ID (Seriennummer) Wird beim Anlegen des Dateisystems erzeugt und dient der Unterscheidung verschiedener Medien (z. B. bei Wechselmedien) |
2B | 11 | Name des Dateisystems (max. 11 Zeichen, durch Leerzeichen aufgefüllt). Veraltet. Wird durch einen speziellen Verzeichniseintrag im Stammverzeichnis abgelöst |
36 | 8 | FAT-Variante, mit Leerzeichen aufgefüllt, z. B.: "FAT12 ", "FAT16 " |
3E | 448 | x86-Maschinencode, der vom Bootloader verwendet wird. |
1FE | 2 | BIOS-Bootsektorsignatur. Enthält die beiden Werte 0x55 0xAA, anhand derer das BIOS beim Booten einen gültigen Bootsektor erkennt. |
FAT 32 benutzt eine davon abweichende Struktur ab Offset 24hex:
Offset | Länge (in Bytes) | Inhalt |
---|---|---|
24 | 4 | Anzahl der Sektoren pro FAT |
28 | 2 | FAT Flags |
2A | 2 | FAT-32-Version. Derzeit stets 0000hex bei Microsoft. Für eventuelle spätere Erweiterungen (optional 0001hex für FATplus, laut [4]) |
2C | 4 | Clusternummer, an der das Stammverzeichnis beginnt. Meistens 2. |
30 | 2 | Sektornummer des "FS Information Sector" (In der Regel: 1) |
32 | 2 | Sektornummer der Bootsektorkopie (in der Regel: 6; Microsoft empfiehlt, keinen anderen Wert zu benutzen) |
34 | 12 | Reserviert für spätere Erweiterungen. Derzeit stets 0. |
40 | 1 | Physische BIOS-Laufwerksnummer |
41 | 1 | Reserviert |
42 | 1 | Signatur |
43 | 4 | Dateisystems-ID (Seriennummer) |
47 | 11 | Name des Dateisystems (Ungenutzt) |
52 | 8 | FAT-Version. Stets: "FAT32 " |
5A | 420 | x86-Maschinencode des Bootloaders |
1FE | 2 | BIOS-Bootsektorsignatur. Enthält die beiden Werte 55hex AAhex, anhand derer das BIOS beim Booten einen gültigen Bootsektor erkennt. |
[Bearbeiten] Reservierte Sektoren
Zwischen Bootsektor und der ersten FAT können Sektoren reserviert werden, die vom Dateisystem nicht benutzt werden. Dieser Bereich kann von einem Bootmanager oder für betriebssystemspezifische Erweiterungen genutzt werden. Auf den meisten FAT-Dateisystemen existieren – außer dem Bootsektor – keine weiteren reservierten Sektoren. Die FAT folgt somit direkt im Anschluss an den Bootsektor.
[Bearbeiten] FAT
Die FAT ist eine Tabelle fester Größe in der über die belegten und freien Cluster eines FAT-Dateisystems buchgeführt wird. Ein Cluster ist die aus einem oder mehreren Sektoren bestehende Zuordnungseinheit, die von einer Datei belegt werden kann. Der Datenbereich ist eine feste Anzahl von Clustern eingeteilt. Zu jedem dieser Cluster existiert ein Eintrag in der FAT, der folgendes über den Cluster angeben kann:
- Der Cluster ist nicht belegt,
- der Cluster ist frei.
- das Medium ist an der Position dieses Clusters beschädigt.
- Der Cluster ist von einer Datei belegt,
- der nächste Cluster der Datei ist der Cluster mit der Nummer X.
- dies ist der letzte Cluster der Datei.
Die Größe (in Bit) und der Wertebereich der Tabelleneinträge unterscheiden sich zw. FAT 12, FAT 16 und FAT 32 wie folgt:
Bedeutung | Wert | ||
---|---|---|---|
FAT 12 | FAT 16 | FAT 32 | |
Freier Cluster | 00016 | 000016 | 0000000016 |
Defekter Cluster | FF716 | FFF716 | FFFFFFF716 |
letzter Cluster einer Clusterkette | FF816…FFF16 | FFF816…FFFF16 | FFFFFFF816…FFFFFFFF16 |
sonstiger Cluster einer Clusterkette | 002 < X < FF616 | 002 < X < FFF616 | 002 < X < 0FFFFFFF16 |
Die belegten Cluster einer Datei bilden eine verkettete Liste, die Clusterkette genannt wird.
Aufgrund ihrer grundlegenden Bedeutung für das Dateisystem existieren in der Regel zwei Kopien, um bei Datenverlust noch immer eine funktionsfähige andere FAT zu haben. Mit diversen Programmen ist eine Datenwiederherstellung in vielen Fällen möglich.
Auf Installationsdisketten oder mit Spezialprogrammen formatierten Medien findet man manchmal keine zweite FAT, wodurch der verfügbare Speicherplatz etwas größer wird. Theoretisch ist es auch möglich, ein Dateisystem mit mehr als zwei FAT-Kopien zu formatieren. Diese Dateisysteme können zwar in der Regel von jedem Betriebssystem gelesen werden, jedoch wird die dritte (und jede weitere FAT-Kopie) bei Schreibzugriffen meist nicht aktualisiert, so dass bei Beschädigung der ersten beiden FATs oft keine Reparatur über die weiteren Kopien möglich ist.
[Bearbeiten] Stammverzeichnis
Das Stammverzeichnis (engl. root directory), auch Wurzelverzeichnis genannt, ist eine Tabelle von Verzeichniseinträgen. Jede Datei oder Unterverzeichnis wird in der Regel durch je einen Verzeichniseintrag repräsentiert. Die bei Windows 95 eingeführte Erweiterung um „Lange Dateinamen“ benutzt jedoch ggf. mehrere Verzeichniseinträge pro Datei/Verzeichnis, um die langen Dateinamen unterzubringen.
Das Stammverzeichnis folgt bei FAT 12 und FAT 16 direkt der FAT und hat eine feste Größe, und damit die Maximalanzahl an Verzeichniseinträgen. Diese wird beim Formatieren des Dateisystems festgelegt und kann später – außer mit Spezialsoftware – nicht mehr geändert werden.
Bei FAT 32 hat das Stammverzeichnis eine variable Größe und kann sich an beliebiger Position im Datenbereich befinden.
Je nach Medientyp gibt es unterschiedliche Vorgabegrößen für das Stammverzeichnis. Mit speziellen Formatierungsprogrammen lässt sich jedoch die Größe des Stammverzeichnisses frei wählen. So existieren beispielsweise Installationsdisketten, die nur sehr wenige Archivdateien enthalten, oft nur ein minimales Stammverzeichnis, das nur 1 Sektor groß ist und somit nur Platz für 16 Verzeichniseinträge bietet.
-
Medientyp Speicherkapazität Anzahl der Verzeichniseinträge Sektoren für Stammverzeichnis 5 ¼″ DD einseitig 180 KiB 64 4 5 ¼″ DD beidseitig 320 KiB 64 4 5 ¼″ DD beidseitig 360 KiB 112 7 5 ¼″ HD beidseitig 1200 KiB 224 14 3 ½″ DD beidseitig 720 KiB 112 7 3 ½″ HD beidseitig 1440 KiB 224 14 3 ½″ ED beidseitig 2880 KiB 448 28 Festplatten variabel 512 32
[Bearbeiten] Versionen
[Bearbeiten] FAT12
Mit der 1980 erschienenen ersten Version von QDOS wurde FAT als Dateisystem eingeführt. Anfangs wurden keine Unterverzeichnisse verwaltet. Dies änderte sich mit MS-DOS Version 2.0.
FAT12 wird nur auf Datenträgern bzw. Partitionen bis zu einer Größe von 16 MiB (16.777.216 Byte) eingesetzt; es ist bis heute auf allen FAT-formatierten 3,5″-Disketten im Einsatz.
Merkmale:
- 12-Bit-Clusternummern, mit denen 212 = 4096 Cluster angesprochen werden können. Die Nummerierung der Cluster beginnt auf Disketten bei der Nummer 2.
- Es werden nur Dateinamen im Schema 8.3 (acht Zeichen für den Dateinamen und drei Zeichen für die Dateinamenserweiterung) unterstützt.
- Die Clustergröße beträgt 512 Byte bis 4096 Byte.
- Das Hauptverzeichnis (Root-Directory) der Partition ist auf eine Größe von 14 Clustern beschränkt, hierdurch ergibt sich eine maximale Anzahl von 224 Einträgen (Verzeichnisse oder Dateien). Normalerweise wird der erste Eintrag durch die Bezeichnung des Datenträgers belegt.
- Unterstützt die Dateiattribute "Schreibgeschützt", "Versteckt", "System" und "Archiv"
- Es werden keine Berechtigungen für Dateien oder Ordner unterstützt
Lange Dateinamen auf Disketten
Um lange Dateinamen auf FAT12-Disketten einsetzen zu können, nutzt Windows die VFAT Erweiterung. Mehrere zusätzliche Verzeichniseinträge liegen vor dem eigentlichen Verzeichniseintrag im FAT12-Format zur Speicherung des langen Dateinamens. Ältere Systeme (z. B. MS-DOS) ignorieren diese Verzeichniseinträge, da sie durch eine spezielle Kombination von Attributen markiert sind, u. a. als „Volume“ und „Hidden“.
[Bearbeiten] FAT16
FAT16 ist ein Dateisystem, das 1983 zu FAT12 dazukam. Durch die zunehmende Größe der eingesetzten Festplatten wurde eine Erweiterung des Adressraumes notwendig. Nun waren selbst mit 512-Byte Clustern insgesamt 32 MiB große Platten verwaltbar.
Da FAT12 nur noch für Disketten verwendet wird, ist es fast in Vergessenheit geraten. Allgemein wird heute deshalb oft auch das FAT16 nur als FAT bezeichnet. Allerdings benötigte das Server-Betriebssystem Novell-Netware bis zur Version 4.0 nur eine bis zu 16 MiB große „DOS“-Boot-Partition, die also (automatisch) mit FAT12 erzeugt wurde.
Es hat die folgenden Merkmale:
- 65.536 Einträge sind möglich, Allerdings nur 512 im Rootverzeichnis.
- Es können 216 − 12 = 65.524 Cluster angesprochen werden (12 Cluster reserviert FAT16, deshalb nicht 65.536).
- 8.3-Dateinamensformat
- Die Partitionsgröße ist unter MS-DOS und Windows 9x (die auf DOS basieren) auf 2 GiB begrenzt. Windows NT, Enhanced DR-DOS können allerdings knapp unter 4 GiB große FAT16-Partitionen erzeugen und verwalten. (Clustergröße 64 KiB)
- Die Cluster sind je nach Partitionsgröße zwischen 512 Byte und maximal 32 KiB groß.
- Dateien dürfen bis 2 GiB groß werden, unter Windows NT und Enhanced DR-DOS 4 GiB.
- Das Haupt-(Root-)Verzeichnis muss sich an einer bestimmten Position auf dem Datenträger befinden. Seine Größe wird bei Erstellung des Dateisystems festgelegt, d.h. es kann nicht wachsen.
Eine Weiterentwicklung erfolgte mit FAT32.
[Bearbeiten] VFAT
VFAT („Virtual FAT“) ist ein Dateisystem für die Verwaltung von Festplatten und Disketten unter Windows ab Version 95. Es ist nur eine Erweiterung des FAT-Formats und kann auf FAT16 und FAT12, seit Windows 98 auch auf FAT32 angewendet werden.
Als Windows 95 veröffentlicht wurde, hatten die Festplatten in einem PC um die 400 MiB Kapazität. FAT16 verwaltet 216 = 65.536 Cluster. Selbst bei einer Clustergröße von 8.192 Byte sind 512 MiB adressierbar. Dies war für damalige Verhältnisse ausreichend (Maximalgrößen siehe FAT16).
Dennoch hatten die Designer von Windows 95 das Ziel, die Nutzung von langen Dateinamen zu ermöglichen. Durch einen Trick im Layout des Dateisystems wurde dies erreicht. Die Datei wird wie bisher als 8.3-Dateiname gespeichert, bei längeren Namen wird jedoch ein Alias in der Form xxxxxx~1.xxx verwendet, wobei die Nummer hochgezählt wird. Der lange Name wird dann über mehrere Verzeichniseinträge verteilt. Während bisher ein Eintrag auf eine Datei verwies, kann jetzt eine Datei mehrere Einträge mit je 32 Byte belegen. Das endgültige Format erlaubte bis zu 255 Zeichen lange Dateinamen und setzte konsequent auf Unicode als Zeichensatz mit der Kodierung UCS-2.
In bisher von Microsoft-Systemen nicht genutzten Bereichen des Eintrages mit dem 8.3-Dateiname wurden nun auch das Erstellungsdatum und das Datum des letzten Zugriffes gespeichert.
VFAT wird in Windows 95 und höher und in Windows NT 3.5 und höher unterstützt. Gelegentlich wird in der Literatur (insbesondere in WWW-Artikeln) auch fälschlich VFAT mit FAT32 gleichgesetzt.
[Bearbeiten] FAT32
FAT32 ist ein von Microsoft entwickeltes Dateisystem, das ab 1997 die Vorgängerversion FAT16 ergänzt hat. Partitionen kleiner als 512 MiB werden nach wie vor mit FAT16 erzeugt, von 512 MiB bis 2 GiB hat man die Wahl, ab 2 GiB wird FAT32 benutzt.
Es wurde mit Windows 95 OSR2 (Service Release 2), auch als Windows 95B bezeichnet, eingeführt. Die Adressierung arbeitet mit 32 Bit, wovon 4 Bit reserviert sind, sodass 228 = 268.435.456 Cluster adressiert werden können.
FAT32 kann außerdem mit Windows 98, Windows 2000, Windows ME und Windows XP sowie – anders als NTFS – problemlos auch mit FreeDOS, Enhanced DR-DOS und Linux verwendet werden. Da auch Macintosh-Computer darauf zugreifen können, bietet es sich als Dateisystem zum Austausch von Daten geradezu an.
Da bis zu einer Partitionsgröße von 8 GiB ein Cluster nur 4 KiB groß ist (bei der Standardformatierung), werden diese „kleinen und alten“ Platten verhältnismäßig besser ausgenutzt als mit FAT16, wo ein Cluster bis zu 32 KiB belegt (unter Windows NT oder Windows 2000 FAT16-Clustergröße maximal 64 KiB).
FAT32 hat die folgenden Merkmale:
- Es werden bis zu 228 = 268.435.456 Cluster verwendet.
- Da VFAT unterstützt wird, sind lange Dateinamen (bis 255 Zeichen) möglich.
- Die Partitionsgröße ist auf 8 TiB begrenzt.
- Die Cluster sind je nach Partitionsgröße zwischen 512 Byte und maximal 32 KiB groß.
- Dateien dürfen max. bis zu 4 GiB − 1 Byte (= 4.294.967.295 Bytes) groß werden (dies ist vermutlich heute die bedeutendste Einschränkung).
- Es können 228 Dateien abgelegt werden.
- Das Haupt-(Root-)Verzeichnis muss sich nicht an einer bestimmten Position auf dem Datenträger befinden und hat vor allem keine festgelegte Größe; bei den anderen FAT-Varianten wird die maximale Anzahl der Einträge im Hauptverzeichnis bei der Formatierung festgelegt und kann nachträglich nicht geändert werden.
- Alte DOS-/Windows-Versionen (bis einschließlich Windows 95 A und Windows NT bis Version 4.0, MS-DOS bis 6.22, DR-DOS bis 7.03) können nicht darauf zugreifen. Für Windows NT 4.0 gab es zunächst nur einen kostenpflichtigen Treiber von einem Dritthersteller; die kostenlose Variante ermöglichte nur einen Lesezugriff. Inzwischen steht auch der vollwertige Treiber kostenlos zur Verfügung.
- Unter Windows 2000 und Nachfolgern darf der Benutzer mit der eingebauten Funktion „Formatieren“ maximal 32 GiB große FAT32-Dateisysteme neu erstellen (von Microsoft gewünschte Beschränkung, um NTFS zu fördern, siehe Weblinks). Auch das Kommandozeilen-Programm format.com (im System32-Verzeichnis, Aufruf z. B.
format x: /fs:fat32
) hat diese Beschränkung. Der Zugriff auf größere FAT32-Dateisysteme, die mit alternativen Werkzeugen (wie z. B. mit dem Befehl mkdosfs unter Knoppix bzw. Linux, h2format von Heise c't (kann nur Formatieren, nicht Partitionieren; siehe Weblinks), oder einem neuen DOS) erstellt wurden, ist aber immer möglich. Auch das Festplatten-Dienstprogramm von Mac OS X 10.4 kann auf Festplatten, die größer als 32 GB sind, eine oder mehrere übergroße FAT32-Partitionen erzeugen. - Es gibt mehrere moderne DOS-Systeme die FAT32 unterstützen: Enhanced Dr-DOS, FreeDOS 1.0 und Datalight ROM-DOS.
[Bearbeiten] Beispiele
[Bearbeiten] Beispiel DOS- bzw. Windows-Diskette mit FAT12 File Allocation Table
Offset | Wert | Bedeutung |
---|---|---|
000h-1FFh | Bootsektor | |
0Bh-0Ch | 00h02h=512 | 512 (=200h) Bytes pro Sektor, das höherwertige Byte steht hinten, also 0+2x256 |
0Dh | 01h=1 | 1 Sektor pro Cluster (ein Eintrag im FAT bezieht sich jeweils auf einen Cluster) |
0Eh-0Fh | 01h00h=1 | 1 reservierter Sektor, also hier nur der Bootsektor (Lage 000h bis 1FFh) |
10h | 02h=2 | 2 File Allocation Tables sind vorhanden (normal) |
11h-12h | E0h00h=224 | maximal 224 (=00E0h) Verzeichniseinträge im Stammverzeichnis, das Stammverzeichnis belegt 14 Sektoren (s. o.) |
13h-14h | 40h0Bh=2880 | 2880 (=0B40h) Sektoren (zu je 512 Bytes, s. o.), also 1440 KiB = 1474560 Byte |
15h | F0h | 3,5-Zoll-Diskette, doppelseitig, 18 bzw. 36 Sektoren (in diesem Fall 18 Sektoren, siehe Wert unter 18h) |
16h-17h | 09h00h=9 | 9 Sektoren pro FAT. Die beiden FATs liegen direkt nach dem Bootsektor (Sektor 0, dem einzigen reservierten Sektor) folglich auf den Sektoren 1–9 (200h bis 13FFh) und 10–18 (1400h bis 25FFh) |
18h–19h | 12h00h=18 | 18 Sektoren pro Spur (die Anzahl der Spuren ergibt sich aus der Gesamtsektorenanzahl 2880, verteilt auf 2 Seiten (s.u.), dividiert durch 18 Sektoren pro Spur hier also zu 80 Spuren) |
1Ah–1Bh | 02h00h=2 | 2 Seiten bzw. Schreib-Lese-Köpfe: Die Geometrie ergibt sich also hiermit zu: 2 Seiten (heads) × 80 Spuren (tracks) pro Seite × 18 Sektoren (sectors) pro Spur × 512 Bytes pro Sektor. |
1Ch–1Fh | 00h00h00h00h=0 | kein versteckter Sektor vor dem Bootsektor |
24h | 00h=0 | Physische Laufwerksnummer (0h bei Disketten) |
36h–3Dh | 46h41h… | 46h 41h 54h 31h 32h ="FAT12" (kann, muss aber nicht dort eingetragen sein) |
1FEh–1FFh | 55hAAh | Signatur des Bootsektors, muss dort stehen, damit er als gültig anerkannt wird |
200h–13FFh | F0hFFh… | Erster FAT. Als Beispiel sind hier die ersten Bytes aufgeführt: F0 FF FF 32 D0 47 AA 35 5E FF FF FF … |
1400h–25FFh | F0hFFh… | Zweiter FAT. Er enthält natürlich dasselbe: F0 FF FF 32 D0 47 AA 35 5E FF FF FF … |
2600h–41FFh | […] | Stammverzeichnis (root directory): Es belegt 14 Sektoren (s. o.) und enthält Einträge, die auch im Hexdump lesbar sind (in kurzem 8.3 und evtl. langem Format). |
4200h–45FFh | […] | Datenbereich: Erster und zweiter Datencluster der Diskette. (Jeder Datencluster ist hier einen Sektor groß, wie unter 0D1h festgelegt.) Auf den ersten Cluster beziehen sich die ersten 12 Bit im FAT (daher 'FAT12'), auf den zweiten die nächsten 12 Bit. Zwei aufeinanderfolgende Cluster werden also durch drei aufeinanderfolgende Bytes im FAT beschrieben. Die ersten drei Bytes im FAT F0hFFhFFh sehen binär geschrieben so aus (Erklärung der 'bit order' siehe weiter unten): 00001111 11111111 11111111 – die ersten 12 Bit sind also: 000011111111 – diese repräsentieren den Wert FF0h, die nächsten 12 stehen für FFFh. Das bedeutet, beide Cluster sind reserviert |
4600h–49FFh | […] | Dritter und vierter Datencluster der Diskette. Die normale Bitreihenfolge (bit order) ist das 'up bit ordering', das 'least significant bit' steht zuerst (Daneben gibt es das 'down bit ordering', auch 'reverse bit direction' – man spricht hier von 'bit sex', analog bei Bytes von der Endianness).
Auf der Diskette sind die drei den beiden Sektore entsprechenden FAT-Bytes 32hD0h47h folgendermaßen repräsentiert: |
[Bearbeiten] Einzelnachweise
- ↑ Urteil des 2. Senates des Bundespatentgerichtes vom 26. Oktober 2006 – Akz. 2 Ni 2/05 (EU) im Volltext auf der Website des Gerichtes ([1]; 87kb; pdf).
- ↑ Matthias Paul (February 20, 2002). Need DOS 6.22 (Not OEM). alt.msdos.programmer. Gefunden am 2006-10-14.
- ↑ Wally Bass (February 14, 1994). Cluster Size. comp.os.msdos.programmer. Gefunden am 2006-10-14.
- ↑ Udo Kuhnt, Luchezar Georgiev, Jeremy Davis. FAT+ Draft release, Rev. 2. Gefunden am 2007-03-24.
[Bearbeiten] Weblinks
- Microsoft: Einschränkungen des FAT32-Dateisystems
- Microsoft: FAT32-Specification
- Datenmassen im Griff (Heise c't 3/2005)
- Informationen über FAT32plus auf [2].
- Microsoft: Working with filesystems (EN)
- Tool zum Erstellen von FAT32-Partitionen > 32 GB (getestet bis 750 GB)