Was ist der Unterschied zwischen VFAT- und FAT32-Dateisystemen?

76

Ich habe im Internet gesucht, konnte aber keine überzeugenden Antworten finden.

Sind die Dateisysteme VFAT und FAT32 gleich oder gibt es Unterschiede zwischen ihnen?

user1004985
quelle

Antworten:

86

Kopiert von http://technet.microsoft.com/en-us/library/cc750354.aspx

Was ist FAT?

FAT mag wie ein seltsamer Name für ein Dateisystem klingen, aber es ist eigentlich ein Akronym für File Allocation Table. FAT wurde 1981 eingeführt und ist in Bezug auf Computer uralt. Aufgrund seines Alters bieten die meisten Betriebssysteme, darunter Microsoft Windows NT®, Windows 98, das Macintosh-Betriebssystem und einige UNIX-Versionen, Unterstützung für FAT.

Das FAT-Dateisystem beschränkt Dateinamen auf die Namenskonvention 8.3. Dies bedeutet, dass ein Dateiname vor dem Zeitraum nicht mehr als acht Zeichen und danach nicht mehr als drei Zeichen enthalten darf. Dateinamen in einem FAT-Dateisystem müssen ebenfalls mit einem Buchstaben oder einer Zahl beginnen und dürfen keine Leerzeichen enthalten. Dateinamen unterscheiden nicht zwischen Groß- und Kleinschreibung.

Was ist mit VFAT?

Vielleicht haben Sie auch von einem Dateisystem namens VFAT gehört. VFAT ist eine Erweiterung des FAT-Dateisystems und wurde mit Windows 95 eingeführt. VFAT behält die Abwärtskompatibilität mit FAT bei, lockert jedoch die Regeln. Beispielsweise können VFAT-Dateinamen bis zu 255 Zeichen, Leerzeichen und mehrere Punkte enthalten. Obwohl VFAT den Fall von Dateinamen beibehält, wird die Groß- und Kleinschreibung nicht berücksichtigt.

Wenn Sie mit VFAT einen langen Dateinamen (länger als 8.3) erstellen, erstellt das Dateisystem tatsächlich zwei verschiedene Dateinamen. Einer ist der tatsächliche lange Dateiname. Dieser Name ist für Windows 95, Windows 98 und Windows NT (4.0 und höher) sichtbar. Der zweite Dateiname wird als MS-DOS®-Alias ​​bezeichnet. Ein MS-DOS-Alias ​​ist eine abgekürzte Form des langen Dateinamens. Das Dateisystem erstellt den MS-DOS-Alias, indem die ersten sechs Zeichen des langen Dateinamens (ohne Leerzeichen) gefolgt von der Tilde [~] und einem numerischen Trailer verwendet werden. Beispielsweise hätte der Dateiname Briens Document.txt den Alias ​​BRIEN '~ 1.txt.

Ein interessanter Nebeneffekt ergibt sich aus der Art und Weise, wie VFAT seine langen Dateinamen speichert. Wenn Sie mit VFAT einen langen Dateinamen erstellen, wird ein Verzeichniseintrag für den MS-DOS-Alias ​​und ein weiterer Eintrag für jeweils 13 Zeichen des langen Dateinamens verwendet. Theoretisch kann ein einzelner langer Dateiname bis zu 21 Verzeichniseinträge belegen. Das Stammverzeichnis hat ein Limit von 512 Dateien. Wenn Sie jedoch die maximal langen Dateinamen im Stammverzeichnis verwenden, können Sie dieses Limit auf nur 24 Dateien reduzieren. Daher sollten Sie lange Dateinamen im Stammverzeichnis sehr sparsam verwenden. Andere Verzeichnisse sind von dieser Begrenzung nicht betroffen.

Sie fragen sich vielleicht, warum wir über VFAT sprechen. Der Grund dafür ist, dass es immer häufiger als FAT wird, aber abgesehen von den oben erwähnten Unterschieden hat VFAT die gleichen Einschränkungen. Wenn Sie Windows NT anweisen, eine Partition als FAT zu formatieren, wird die Partition tatsächlich als VFAT formatiert. Unter Windows NT 4.0 haben Sie nur dann eine echte FAT-Partition, wenn Sie ein anderes Betriebssystem wie MS-DOS zum Formatieren der Partition verwenden.

FAT32

FAT32 ist eine Erweiterung von FAT und VFAT, die erstmals mit Windows 95 OEM Service Release 2 (OSR2) eingeführt wurde. FAT32 verbessert das VFAT-Dateisystem erheblich, hat jedoch seine Nachteile.

Der größte Vorteil von FAT32 besteht darin, dass der freie Festplattenspeicher drastisch erhöht wird. Beachten Sie zur Veranschaulichung dieses Punkts, dass eine FAT-Partition (auch als FAT16-Partition bezeichnet) nur eine bestimmte Anzahl von Clustern pro Partition zulässt. Mit zunehmender Partitionsgröße muss daher auch die Clustergröße zunehmen. Beispielsweise hat eine 512-MB-FAT-Partition eine Clustergröße von 8 KB, während eine 2-GB-Partition eine Clustergröße von 32 KB hat.

Dies klingt möglicherweise nicht nach einer großen Sache, bis Sie bedenken, dass das FAT-Dateisystem nur in einzelnen Cluster-Schritten funktioniert. Auf einer 2-GB-Partition belegt beispielsweise eine 1-Byte-Datei den gesamten Cluster und verbraucht dabei 32 KB oder etwa das 32.000-fache des Speicherplatzes, den die Datei belegen sollte. Diese Regel gilt für jede Datei auf Ihrer Festplatte, sodass Sie sehen können, wie viel Speicherplatz verschwendet werden kann.

Durch das Konvertieren einer Partition in FAT32 wird die Clustergröße verringert (und die Beschränkung der Partitionsgröße von 2 GB überwunden). Bei Partitionen ab 8 GB wird die Clustergröße auf nur 4 KB reduziert. Wie Sie sich vorstellen können, ist es nicht ungewöhnlich, durch die Konvertierung einer Partition in FAT32 Hunderte von Megabyte zurückzugewinnen, insbesondere wenn die Partition viele kleine Dateien enthält.

Hinweis: Dieser Abschnitt des Zitats / Artikels (1999) ist veraltet. Aktualisiertes Info-Zitat unten.

Wie bereits erwähnt, weist FAT32 Einschränkungen auf. Leider ist es mit keinem anderen Betriebssystem als Windows 98 und der OSR2-Version von Windows 95 kompatibel. Windows 2000 kann jedoch FAT32-Partitionen lesen.

Der andere Nachteil ist, dass Ihre Festplatten-Dienstprogramme und Antivirensoftware FAT32-fähig sein müssen. Andernfalls könnten sie die neue Dateistruktur als Fehler interpretieren und versuchen, sie zu korrigieren, wodurch Daten zerstört werden.

Abschließend sollte ich erwähnen, dass die Konvertierung in FAT32 ein Einwegprozess ist. Sobald Sie zu FAT32 konvertiert haben, können Sie die Partition nicht mehr zurück zu FAT16 konvertieren. Vor der Konvertierung in FAT32 müssen Sie daher prüfen, ob der Computer jemals in einer Dual-Boot-Umgebung verwendet wird. Ich sollte auch darauf hinweisen, dass andere Betriebssysteme wie Windows NT eine FAT32-Partition zwar nicht direkt lesen können, sie jedoch über das Netzwerk lesen können. Daher ist es kein Problem, auf einer FAT32-Partition gespeicherte Informationen mit anderen Computern in einem Netzwerk zu teilen, auf denen ältere Betriebssysteme ausgeführt werden.

Aktualisiert im Kommentar von Doktor-J erwähnt (assimiliert, um die veraltete Antwort zu aktualisieren, falls der Kommentar jemals verloren geht):

Ich möchte nur darauf hinweisen, dass die meisten modernen Betriebssysteme (WinXP / Vista / 7/8, MacOS X, die meisten, wenn nicht alle Linux-Varianten) FAT32 lesen können, im Gegensatz zu dem, was der vorletzte Absatz vorschlägt.

Der ursprüngliche Artikel wurde 1999 verfasst und auf einer Microsoft-Website veröffentlicht. Wahrscheinlich ging es sowieso nicht um Nicht-Microsoft-Betriebssysteme.

Die in diesem Absatz "ausgeschlossenen" Betriebssysteme sind wahrscheinlich die ursprünglichen Betriebssysteme Windows 95, Windows NT 4.0, Windows 3.1, DOS usw.

Abhishek
quelle
30
Ich möchte nur darauf hinweisen, dass die meisten modernen Betriebssysteme (WinXP / Vista / 7/8, MacOS X, die meisten, wenn nicht alle Linux-Varianten) FAT32 lesen können, im Gegensatz zu dem, was der vorletzte Absatz vorschlägt. Der ursprüngliche Artikel wurde 1999 verfasst und auf einer Microsoft-Website veröffentlicht. Wahrscheinlich ging es sowieso nicht um Nicht-Microsoft-Betriebssysteme. Die Betriebssysteme, die von diesem Absatz "ausgeschlossen" werden, sind wahrscheinlich die ursprünglichen Windows 95, Windows NT 4.0, Windows 3.1, DOS usw.
Doktor J
6
Und nicht nur Computer - fast alle Unterhaltungselektronikgeräte wie Kameras und Smart-TVs unterstützen FAT32.
Nick Moore
@Abhishek, danke für diese großartige Zusammenfassung. Wenn ich recht habe, ist das vfat fast ein fat16 + die Namenserweiterung. ||| Sonstiges: Das Ubuntu formatiert die EFI-Partition in vfat , aber Windows verwendet dies auch auf einem Dual-Boot-Computer. Also, das verwendet Windows intern vfat , zeigt aber fat32 ?
andras.tim
11

FAT32zusammen mit FAT16und FAT12sind Dateisystemtypen, aber vfatzusammen mit umsdosund msdossind Treiber, die zum Mounten der FAT-Dateisysteme unter Linux verwendet werden. Die Auswahl des Treibers bestimmt, wie einige der Funktionen auf das Dateisystem angewendet werden. Beispielsweise haben Systeme, die mit einem msdosTreiber bereitgestellt werden, keine langen Dateinamen (sie haben das Format 8.3). vfatist heutzutage der häufigste Treiber für die Bereitstellung von FAT32-Dateisystemen.

Quelle: dieser Wikipedia-Artikel

Ausgabe von Befehlen wie dfund lsblktatsächlich vfatals Dateisystemtyp. sudo file -sL /dev/<partition>Zeigt aber an , FAT (32 bit)ob ein Dateisystem FAT32 ist.

Sie können vfatdurch Ausführen bestätigen, dass es sich um ein Modul und nicht um einen Dateisystemtyp handelt modinfo vfat.

Adriano_Pinaffo
quelle
Die Boot-Info-Datei sagt mir, dass mein Dateisystem VFAT ist, daher bin ich verwirrt über den "Treiber" -Teil.
Quidam
FAT war ursprünglich ein Dateisystem, das keine langen Dateinamen verarbeitete. Für W95 hat Microsoft (und andere Unternehmen) eine neue Methode zur Behandlung langer Dateinamen eingeführt. Das war das gleiche FAT-Dateisystem (FAT16 normalerweise zu der Zeit), aber mit dieser neuen Methode darüber, genannt VFAT. Microsoft hat den in W95 eingebetteten Treiber für virtuelle Geräte erstellt, der über ein FAT16-Dateisystem mit langen Dateinamen verfügen konnte. Diese Funktion ist die VFAT. In der Linux-Welt war es bis zu diesem Zeitpunkt üblich, den Treiber "msdos" zum Mounten von FAT12 / 16-Dateisystemen zu verwenden.
Adriano_Pinaffo
Um diese neue Funktion zusätzlich zu den FAT-Dateisystemen zu nutzen, wurde der vfat-Treiber erstellt, mit dem FAT16-Laufwerke unter Linux mit langen Dateinamen gemountet werden können. Jedes Mal, wenn Sie sehen, dass Ihr Dateisystem VFAT ist, bedeutet dies, dass es sich um ein FAT-Dateisystem handelt, das mit langen Dateinamen umgehen kann.
Adriano_Pinaffo