FAT-Dateisystem unter Linux: FAT12, FAT16, FAT32 und VFAT
FAT unter Linux verständlich erklärt: FAT12, FAT16, FAT32, VFAT, 8.3-Dateinamen, Grenzen, Berechtigungen und typische Einsatzgebiete.
FAT steht für File Allocation Table und bezeichnet sowohl eine zentrale Verwaltungsstruktur als auch eine ganze Familie von Dateisystemen. Unter Linux begegnet FAT vor allem bei USB-Sticks, Speicherkarten und anderen Wechseldatenträgern. Der wichtigste Vorteil ist die sehr breite Kompatibilität mit Linux, Windows und macOS.
Dieser Artikel erklärt das Grundprinzip von FAT, die Varianten FAT12, FAT16 und FAT32 sowie die Erweiterung VFAT. Außerdem geht es um Dateinamen, Größenbeschränkungen, fehlende Dateiberechtigungen und die Einordnung gegenüber moderneren Dateisystemen.
Was ist FAT?
Die Abkürzung FAT bedeutet File Allocation Table, auf Deutsch etwa „Dateizuordnungstabelle“. Diese Tabelle hält fest, welche Speicherbereiche zu einer Datei gehören und in welcher Reihenfolge sie gelesen werden müssen. Der Name bezeichnet außerdem die Dateisystemfamilie, zu der FAT12, FAT16 und FAT32 gehören.
FAT wurde von Microsoft entwickelt und historisch zunächst mit MS-DOS verbreitet. Auch frühe Windows-Versionen verwendeten FAT als wichtiges Dateisystem. Durch seine einfache Struktur konnte sich das Format über viele verschiedene Betriebssysteme und Geräte hinweg etablieren.
FAT ist ein vergleichsweise einfaches und weit verbreitetes Dateisystem. Die Einfachheit erleichtert die Unterstützung in Betriebssystemen, Firmware und Geräten. Sie bedeutet aber auch, dass FAT weniger moderne Funktionen bietet als viele Dateisysteme für Linux-Systemlaufwerke.
Grundprinzip: Dateizuordnungstabelle und Cluster
Ein Datenträger wird bei FAT in gleich große, adressierbare Einheiten aufgeteilt. Diese Einheiten heißen Cluster. Ein Cluster besteht aus einem oder mehreren physisch zusammenhängenden Sektoren. Dateien belegen mindestens einen Cluster, können aber auch aus einer Kette mehrerer Cluster bestehen.
Die File Allocation Table enthält für jeden relevanten Cluster einen Eintrag. Dieser Eintrag kann beispielsweise auf den nächsten Cluster derselben Datei verweisen, das Ende einer Datei markieren oder einen freien beziehungsweise fehlerhaften Cluster kennzeichnen. So kann eine Datei auch dann gespeichert werden, wenn ihre Cluster nicht direkt nebeneinander liegen.
Vereinfacht sieht der Ablauf so aus: Ein Verzeichniseintrag nennt den ersten Cluster einer Datei. Die FAT verweist von diesem Cluster auf den nächsten. Die Kette endet an einem speziellen Endmarker.
| Bestandteil | Aufgabe |
|---|---|
| Cluster | Adressierbare Speichereinheit, in der Dateiinhalte liegen. |
| Verzeichnis | Enthält unter anderem Dateinamen, Größen und den Start-Cluster. |
| File Allocation Table | Verknüpft die Cluster einer Datei und beschreibt deren Zustand. |
Die Varianten FAT12, FAT16 und FAT32
Die Zahl in FAT12, FAT16 oder FAT32 beschreibt grundsätzlich die Breite der Clusteradressierung. Je mehr Bits für Adressen verfügbar sind, desto mehr Cluster können unterschieden werden. Bei FAT32 werden im behandelten Kontext 28 Bits für die tatsächliche Clusteradressierung eingeordnet; einige Bitwerte sind für besondere Zustände reserviert.
| Variante | Adressierbare Cluster | Typische Einordnung | Besonderheiten |
|---|---|---|---|
| FAT12 | 212 | Sehr kleine Datenträger, historisch insbesondere Disketten. | Sehr kleiner Adressraum; für moderne große Medien ungeeignet. |
| FAT16 | 216 | Kleinere Festplatten und Datenträger älterer Systeme. | Mehr Cluster als FAT12, aber deutlich begrenzter als FAT32. |
| FAT32 | 228 | Viele USB-Sticks, Speicherkarten und andere Wechseldatenträger. | Breite Unterstützung, aber maximal 4 GB pro einzelner Datei. |
Die tatsächlich mögliche Datenträgergröße hängt zusätzlich von der Clustergröße, der Formatierung und der jeweiligen Betriebssystem- oder Geräteimplementierung ab. Die Varianten lassen sich daher nicht allein über eine universelle Datenträgergröße voneinander abgrenzen. Als grobe Entwicklung gilt: FAT12 war für sehr kleine Medien gedacht, FAT16 für größere Medien der frühen PC-Ära und FAT32 für deutlich größere Wechseldatenträger.
VFAT: Erweiterung für moderne FAT-Datenträger
VFAT ist eine Erweiterung des FAT-Formats. Sie ergänzt insbesondere die Unterstützung für lange Dateinamen und verbessert damit die praktische Nutzung moderner FAT-Datenträger. VFAT ist nicht einfach eine vierte Variante neben FAT12, FAT16 und FAT32: FAT bezeichnet die Dateisystemfamilie, während VFAT zusätzliche Funktionen und eine kompatiblere Dateinamenverwaltung beschreibt.
Linux kann VFAT vollständig nutzen. Ein unter Linux eingebundener VFAT-Datenträger lässt sich deshalb mit langen Dateinamen lesen und beschreiben. Die zugrunde liegende FAT-Struktur bleibt dabei für Systeme und Geräte zugänglich, die das Format unterstützen.
Dateinamen: 8.3 und lange Namen
Das klassische FAT-Dateinamensschema wird als 8.3-Dateiname bezeichnet. Der Basisname darf dabei höchstens acht Zeichen enthalten. Danach folgen ein Punkt und eine Erweiterung mit bis zu drei Zeichen. Ein gültiges Beispiel ist textfile.txt: „textfile“ ist der Basisname und „txt“ die Erweiterung.
Dieses Schema war für frühe Betriebssysteme und kleine Verzeichniseinträge praktisch, wirkt aus heutiger Sicht aber sehr begrenzt. VFAT ergänzt lange Dateinamen, sodass beispielsweise beschreibendere Namen verwendet werden können. Für die Kompatibilität kann zusätzlich ein kurzer 8.3-kompatibler Name geführt werden.
Grenzen von FAT32
Die wichtigste praktische Grenze von FAT32 ist die maximale Größe einer einzelnen Datei: Sie beträgt 4 GB. Diese Grenze gilt unabhängig davon, wie viel freier Speicher auf dem Datenträger noch vorhanden ist.
Eine FAT32-Dateisystemgröße kann im behandelten Kontext bis zu 8 TB betragen. Die tatsächlich nutzbare Größe hängt unter anderem von der Clustergröße, dem Formatierungsprogramm, dem Betriebssystem und dem verwendeten Gerät ab.
Beispiel: Eine große Videodatei kopieren
Eine Videodatei mit 4,5 GB passt nicht auf einen FAT32-formatierten USB-Stick, selbst wenn dort 20 GB frei sind. Das Problem ist nicht der freie Platz, sondern die maximale Einzeldateigröße. Für solche Dateien muss ein anderes Dateisystem oder eine Aufteilung der Datei verwendet werden.
Kein natives Berechtigungskonzept
FAT besitzt kein natives Konzept für Linux-Benutzer-, Gruppen- und Dateiberechtigungen. Zugriffsrechte und Eigentümer werden daher nicht pro Datei so gespeichert wie bei typischen Mehrbenutzer-Dateisystemen von Linux.
Das bedeutet: Auf einem FAT-Datenträger lassen sich keine unterschiedlichen, dauerhaft in FAT gespeicherten Dateirechte für einzelne Linux-Benutzer verwalten. Beim Einbinden können Zugriffsrechte häufig durch die Einbindungsumgebung für den gesamten Datenträger vorgegeben werden; sie sind dann keine individuellen FAT-Dateiattribute.
Als Kontrast eignet sich NTFS. NTFS verfügt über ein Berechtigungskonzept und ist deshalb für bestimmte Mehrbenutzer- und Systemanforderungen besser geeignet. FAT priorisiert dagegen einfache Austauschbarkeit.
Stärken und typische Einsatzgebiete
- Hohe Kompatibilität: FAT-formatierte Medien können meist mit Linux, Windows und macOS verwendet werden.
- USB-Sticks: FAT32 ist häufig eine praktische Wahl, wenn ein Stick an unterschiedlichen Rechnern eingesetzt werden soll.
- Externe Datenträger: Für den einfachen Datenaustausch kann FAT trotz seiner Grenzen ausreichend sein.
- Digitalkameras: Speicherkarten verwenden FAT häufig wegen der Unterstützung durch viele Kameras und andere Geräte.
- Einfache Geräteunterstützung: Viele Geräte können FAT lesen und schreiben, weil die Struktur relativ unkompliziert ist.
FAT bleibt für portable Austauschmedien relevant, weil Kompatibilität oft wichtiger ist als Dateirechte, Journaling oder sehr große Einzeldateien. Ein Stick, der zwischen mehreren Betriebssystemen und Geräten wechseln soll, profitiert von dieser gemeinsamen Basis.
FAT im Vergleich zu moderneren Dateisystemen
FAT bietet nur begrenzte Leistungsfähigkeit und wenige moderne Funktionen. Dazu gehören insbesondere das fehlende native Berechtigungskonzept und die Begrenzung von FAT32 auf 4 GB pro Datei. Je nach Einsatz fehlen außerdem Funktionen, die moderne Dateisysteme für Systemlaufwerke oder große Datenbestände bereitstellen.
Die Entscheidung ist daher ein Kompromiss: FAT bietet maximale Kompatibilität, verzichtet dafür auf einen Teil des Funktionsumfangs. Für ein Linux-Systemlaufwerk sind Linux-Dateisysteme wie Ext4 typischerweise passender. Für portable Austauschmedien kann FAT beziehungsweise VFAT dagegen die bessere Wahl sein, wenn verschiedene Systeme und Geräte darauf zugreifen müssen.
| Merkmal | FAT/VFAT | NTFS |
|---|---|---|
| Berechtigungskonzept | Keine nativen individuellen Benutzer-, Gruppen- und Dateiberechtigungen. | Unterstützt ein Berechtigungskonzept für Zugriffssteuerung. |
| Betriebssystemübergreifende Kompatibilität | Sehr breit, besonders bei Wechseldatenträgern. | Gut unterstützt, aber je nach System und Schreibunterstützung unterschiedlich praktisch. |
| Eignung für Wechseldatenträger | Sehr gut für einfachen Datenaustausch zwischen verschiedenen Geräten. | Kann geeignet sein, ist aber nicht immer die kompatibelste Wahl für Kameras und Unterhaltungselektronik. |
| Umgang mit großen Dateien | FAT32 begrenzt einzelne Dateien auf 4 GB. | Für deutlich größere Dateien ausgelegt. |
Typische Probleme und ihre Ursachen
Eine Datei mit mehr als 4 GB lässt sich nicht kopieren
Wahrscheinliche Ursache: Der USB-Stick oder die Speicherkarte ist mit FAT32 formatiert. Die einzelne Datei überschreitet die FAT32-Grenze von 4 GB. Freier Speicher auf dem Medium ändert daran nichts.
Dateirechte oder Eigentümer werden nicht dauerhaft gespeichert
Wahrscheinliche Ursache: FAT besitzt kein eigenes Berechtigungskonzept. Die Zugriffssteuerung kann nicht als native FAT-Dateiattribute für jede Datei abgelegt werden. Für detaillierte Linux-Berechtigungen ist ein passenderes Dateisystem erforderlich; Grundlagen dazu stehen im Artikel über Linux-Zugriffsrechte.
Kompatibilität ist gut, der Funktionsumfang aber begrenzt
Wahrscheinliche Ursache: FAT wurde zugunsten maximaler Betriebssystem- und Gerätekompatibilität gewählt. Die Kehrseite sind fehlende moderne Funktionen und Einschränkungen bei Berechtigungen und großen Einzeldateien.
Prüfungsrelevante Zusammenfassung
- FAT bedeutet File Allocation Table und bezeichnet sowohl die Dateizuordnungstabelle als auch die FAT-Dateisystemfamilie.
- Die FAT verwaltet Clusterketten und zeigt, welche Cluster zu einer Datei gehören.
- FAT12, FAT16 und FAT32 unterscheiden sich durch die Anzahl adressierbarer Cluster: 212, 216 und 228.
- VFAT erweitert FAT insbesondere um lange Dateinamen und wird unter Linux vollständig unterstützt.
- Das klassische 8.3-Schema besteht aus höchstens acht Zeichen, einem Punkt und höchstens drei Zeichen Erweiterung.
- FAT32 erlaubt maximal 4 GB pro einzelner Datei; die Dateisystemgröße kann im behandelten Kontext bis zu 8 TB betragen.
- FAT speichert keine nativen individuellen Benutzer-, Gruppen- und Dateiberechtigungen.
- Der zentrale Vorteil von FAT ist die Kompatibilität mit Linux, Windows, macOS und vielen Geräten.