FAT-Festplatten-Partition: Weniger kann mehr sein ...

Beim FAT-Dateiensystem (File Allocation Table, Datei-Zuordnungstabelle) ist ein Cluster die kleinste belegbare Zuordnungseinheit. Je nach Partition werden ein oder mehrere Sektoren zu je 512 Bytes zu einem Cluster zusammengefasst. Jeder FAT-Tabellen-Eintrag korrespondiert mit einem Datenbereich (Cluster) und gibt an, ob dieses Cluster einer Datei zugeordnet oder noch frei ist. Im Directory-Eintrag ist vermerkt in welchem Cluster die ersten Daten einer Datei abgespeichert sind und in dem zugehörigen FAT-Eintrag steht die Nummer des Clusters, in dem die nächsten Daten der Datei abgespeichert sind bzw. die Kennung "letztes Cluster der Datei".

Aus Sicherheitsgründen gibt es beim FAT-Dateiensystem die Datei-Zuordnungstabelle doppelt. Die beiden FATs befinden sich auf der äußeren Spur 0 des Datenträgers. Im Gegensatz hierzu werden beim NTFS-Dateisystem die Cluster anhand des Master File Table (MFT) in Form von Dateien verwaltet.

[Historisches] - [FAT16] - [VFAT] - [FAT32] - [Diverse Infos]


Historisches zum FAT-Dateiensystem:

Das FAT-Dateiensystem gibt es seit der Einführung des IBM Personalcomputers und des Betriebsystems MS-DOS Version 1 im Jahr 1981. 1982 wurde mit DOS-Version 1.1 die Diskettenkapazität durch beidseitiges Beschreiben der 5¼"-Disketten von 160KB auf 320KB erhöht. Bei den einseitigen Disketten wird ein Sektor und bei den doppelseitigen Disketten 2 Sektoren zu einem Cluster zusammengefasst.

Der 1983 von IBM auf den Markt gebrachte PC-XT (8088-Prozessor) verfügte erstmals über eine Festplatte mit 10MB und eine Echtzeituhr. Die gleichzeitig eingeführte DOS-Version 2 unterstützte jetzt die heute übliche baumartige Verzeichnisstruktur, bei der das Hauptverzeichnis mehrere Unterverzeichnisse und Dateien, und diese Unterverzeichnisse wiederum Unterverzeichnisse und Dateien enthalten können. Ferner wurde die Diskettenkapazität durch die Steigerung von 8 auf 9 Sektoren der 40 Spuren auf 180 bzw. 360KB erhöht. Beim Festplatten-Volume werden 8 Sektoren zu einem Cluster zusammengefasst.

1984 wurde mit DOS-Version 3 auch die 20MB-Festplatte und die neuen 5¼"-Diskettenlaufwerke mit einer Kapazität von 1,2MB (80 Spuren mit je 15 Sektoren) des PC-AT (80286-Prozessor) und die neuen 3½"-Diskettenlaufwerke mit 720KB (80 Spuren mit je 9 Sektoren) unterstützt. Beim Festplatten-Volume wurden nur noch 4 Sektoren zu einem Cluster zusammengefasst (2KB) und die Cluster-Nummer im FAT-Eintrag hatte man von bisher 12 Bit auf 16 Bit für Volumes mit mehr als 4079 Cluster erhöht.

Mit DOS-Version 3.3 wurde die Kapazität der 3½"-Diskettenlaufwerke auf die noch heute üblichen 1,4MB (80 Spuren mit je 18 Sektoren) erweitert. Beim FAT16-Dateiensystem war bis DOS-Version 3.3 die Größe einer Festplatten-Partition (Volume) auf 32MB begrenzt. 1988 wurde mit DOS-Version 4.0 diese Grenze auf 2048MB erweitert und bis zur letzten veröffentlichten DOS-Version 6.22 (1994) blieb diese Grenze unverändert.

Auch der Vorgänger von Windows95, das unter dem Betriebssystem DOS laufende "Windows" (letzte Version: 3.11 von 1993), arbeitet mit FAT16 und die Betriebssysteme Windows-NT, OS/2, Linux, Apple-Macintosh und UNIX können mit dem FAT16-Dateiensystem umgehen.



FAT16-Partition, weniger kann mehr sein ...

Mit dem FAT16-Dateiensystem kann eine Partition wegen den 16-Bit langen FAT-Einträgen maximal über 65519 Cluster (Zuordnungseinheiten) verfügen. Ab DOS-Version 4.0 werden dabei je nach Partitionsgröße mehrere Sektoren (512 Byte) zu einem Cluster zusammengefasst:

FAT16-Partition Cluster-Size
... - 256 MB 4 KB
256 - 512 MB 8 KB
512 - 1024 MB 16 KB
1024 - 2048 MB 32 KB

Bei der Angabe "MB" ist zu beachten, dass obige Tabelle die auch vom DOS-Programm FDISK angezeigten binären Megabytes, also 1024 * 1024 = 1048576 Bytes, und nicht die dezimalen Megabytes (1000000 Bytes) angibt. Festplatten-Hersteller geben dagegen normalerweise ihre Produkte in dezimalen Megabytes an (das sieht mehr aus). Dies gilt auch z.B. für das Programm EZ-DRIVE von Western Digital, mit dem auch in älteren PCs ohne "Translating BIOS" bzw. "Large Disk Access BIOS" Festplatten > 504 bzw. 528 MB erkannt werden.

Der Speicherplatz auf einer Partition kann nur clusterweise allokiert werden (Ein Cluster ist die kleinste belegbare Einheit). Auf einer 8KB-Cluster-Partition belegt eine 33...40KB große Datei also 5 Cluster (40KB), auf einer 16KB-Cluster-Partition 3 Cluster (48KB) und auf einer 32KB-Cluster-Partition 2 Cluster (64KB). Statistisch gesehen, bleibt eine halbe Cluster-Size je Datei unbenutzt, und das ist je nach Größe der Partition 2...16KB.

Nimmt man an, dass im Mittel eine Datei ca. 33...40KB groß ist und sich 10000 Dateien auf der FAT16-Partition befinden, errechnet sich je nach Größe der Partition unterschiedlicher Speicherbedarf für diese Dateien:

  8KB-Cluster-Partition : 10000 Dateien * 5 Cluster *  8KB = 400000 KB = 391 MB
16KB-Cluster-Partition : 10000 Dateien * 3 Cluster * 16KB = 480000 KB = 469 MB
32KB-Cluster-Partition : 10000 Dateien * 2 Cluster * 32KB = 640000 KB = 625 MB

Bei der Partitionierung seiner Festplatte mit FAT16 sollte man also unter allen Umständen Partitionsgrößen knapp über den Schwellen 256, 512 oder 1024 MB vermeiden! Zum Beispiel passen auf die 1145MB-Partition einer 1,2GB-HD insgesamt 18312 der o.g. 33...40KB-Dateien. Erstellt man jedoch lediglich eine 1024MB-Partition, so bietet diese 21845 solcher Dateien Platz. Und selbst bei einer mittleren Dateigröße von 65...96KB schränkt die größere Partition den Platz auf 9156 Dateien gegenüber 10667 Dateien auf der kleineren 1024MB-Partition ein. Aber wer hat denn heute noch eine 1,2GB-HD ...



VFAT unterstützt lange Dateinamen:

Kompatibel zu FAT16 ist das von Windows95 verwendete VFAT (Virtual File Allocation Table). VFAT wird ebenfalls von WindowsNT ab Version 3.5 und Windows98 unterstützt.

Im Gegensatz zu FAT16, das nur die 8+3 Zeichen langen Dateinamen kennt, verwaltet VFAT bis zu 255 Zeichen lange Dateinamen und zusätzlich den automatisch generierten 8+3 Zeichen langen "Aliasnamen" (DOS-Name), wegen der Kompatibilität zu FAT16. Um die langen Dateinamen abzuspeichern, verwendet VFAT Verzeichniseinträge (mit Dateiattribut Volume, Read-only, Hidden, System). Aber hierdurch reduzieren sich die maximal möglichen Dateien/Verzeichnisse im Hauptverzeichnis von 512 bei FAT16 auf ca. 250 bei VFAT.

Die Verwendung der 4 Dateiattribut-Bits zur Unterstützung der langen Dateinamen gerät nicht in Konflikt mit den Zugriffsmethoden von MS-DOS und OS/2. Aber DOS-basierende Festplatten-Reparier- und Defragmentier-Programme von Fremdherstellern, die nicht speziell für Windows95 oder NT3.5 zertifiziert sind, und auch das DOS-Programm DEFRAG.exe arbeiten nicht korrekt und zerstören im schlimmsten Fall die langen Datei- und Verzeichnisnamen.



FAT32 ermöglicht größere Partitionen:

Ab der im Oktober 1996 veröffentlichten OEM-Release Windows95-B "mit USB-Unterstützung" (ver 4.00.950b) werden allerdings nur Partitionen bis 512MB mit VFAT formatiert. Größere Partitionen werden dagegen im FAT32-Format erstellt und bei dem ab Juni 1998 vertriebenen Windows95-Update Windows98 können Partitionen ab 512MB alternativ mit FAT32, statt mit VFAT formatiert werden.

FAT32 ermöglicht mit seinen 28 Bits für die Cluster-Nummer Partitionsgrößen von 8GB bei einer Clustergröße von nur 4KB. Bei 8-16GB Partitionen beträgt die Clustergröße 8KB. Hierdurch wird der oben beschriebene Verschnitt von durchschnittlich einer halben Cluster-Size je Datei auf 2KB, gegenüber bis zu 16KB bei FAT16/VFAT, reduziert. Ferner sind bei FAT32 die maximal möglichen Dateien/Verzeichnisse im Hauptverzeichnis nicht mehr limitiert. Verglichen mit FAT16 und VFAT ist FAT32 wegen dem Verwaltungsaufwand der mehr Cluster etwas langsamer und im Gegensatz zu FAT16 und VFAT ist es nicht kompatibel zu DOS, OS/2, Linux und auch nicht zu Windows-NT4 und früheren Versionen. Inzwischen gibt es jedoch Shareware- bzw. Freeware-Lösungen für andere Betriebssysteme, die zumindest einen Lesezugriff auf FAT32-Partitionen erlauben.

Windows2000 ("W2K" bzw. NT 5.0), der von Microsoft im März 2000 veröffentlichte Nachfolger von Windows NT 4.0, benutzt das File-System NTFS5, unterstützt aber auch FAT16/32. Gegenüber NTFS4 von Windows NT können beim NTFS5 Dateien auf Wunsch verschlüsselt werden. Im September 2000 kommt der Windows95/98-Nachfolger Windows ME (Millenium Edition) auf den Markt. Es benutzt FAT32. Anders als beim Windows 98SE (Second Edition), ist aber bei ME keine nachträgliche Konvertierung einer FAT16-Partition auf FAT32 möglich (Bei 98SE ging das mit dem Hilfsprogramm cvt1.exe). Das Betriebssystem Windows XP (NT 5.1), der gemeinsame Nachfolger von 95/98/ME und NT/2000, kommt Oktober 2001 auf den Markt.



Diverse bunte Infos zu Festplatten und Dateisystemen:

Windows NT 4.0 erkennt maximal 8GB:
Der mit Windows NT 4.0 gelieferte IDE-Treiber Atapi.sys kann nur eine Festplattengröße von maximal 8 GB ansprechen. Erst ab SP4 ist der Atapi.sys korrigiert, dass er auch die Kapazität größerer Festplatten erkennt.

NTFSDOS, WindowsNT-File-System-Driver für DOS/Windows:
Mit dem Programm NTFSDOS kann von DOS, Windows 3.x und Windows95 aus lesend auf NTFS-Partitionen von Windows NT zugegriffen werden. Unter DOS/Windows wird NTFSDOS.exe z.B. einfach in der AUTOEXEC.bat aufgerufen. Die Internet-Seite www.sysinternals.com/ntw2k/freeware/NTFSDOS.shtml gibt weitere Infos.

FAT32, FAT32-File-System-Driver für Windows NT 4.0:
Mit dem Programm FAT32 kann unter Windows NT 4.0 auf FAT32-Partitionen zugegriffen werden. Die Freeware-Version ermöglicht nur lesenden, die Vollversion Read/Write-Zugriffe. Die Internet-Seite www.sysinternals.com/ntw2k/freeware/fat32.shtml gibt weitere Infos.

NTFS for Windows 98, NTFS-File-System-Driver für Windows 95/98:
Mit dem Programm NTFS for Windows 98 kann unter Windows 95/98 auf NTFS-Partitionen von Windows NT/2000 zugegriffen werden. Die Freeware-Version ermöglicht nur lesenden, die Vollversion Read/Write-Zugriffe. Die Internet-Seite www.sysinternals.com/ntw2k/freeware/ntfswin98.shtml gibt weitere Infos.

Windows 98, Kleine Partitionen mit FAT32:
Unter Windows 98 können mit der FDisk-Option /FPRMT auch Partitionen kleiner 512MB mit FAT32 partitioniert werden.

Welches Betriebssystem unterstützt welches Dateiensystem?
Bereits oben beschrieben, aber hier nochmal übersichtlich als Tabelle:

DOSWindows
95a
Windows
95b/98/ME
Windows
NT 4.0
Windows
2000
Windows
XP
FAT16××××××
VFAT16 ×××××
FAT32  × ××
NTFS4   ×××
NTFS5    ××


Zurück zu ABu's Homepage


http://home.arcor.de/abu/hd-fdisk.htm
© Februar 1997 Axel Bug  email to Axel Bug    Letztes Update: 10.06.2006     12059