Welcher Name ist richtig, exFAT oder FAT64?

Antworten:

81

Es gibt kein FAT64, zumindest nicht zu diesem Zeitpunkt. Es gibt exFAT, das manche Leute als FAT64 bezeichnen.

Warum machen sie das? Die Geschichte der Dateizuordnungstabelle ist ziemlich kompliziert. Heutzutage sind FAT32 (obwohl dies immer seltener vorkommt) und ExFAT die am häufigsten verwendeten Implementierungen . FAT32 war eine signifikante Verbesserung gegenüber den älteren FAT-Dateisystemen und ermöglichte Volumengrößen von bis zu 2 TB (mit einer Sektorgröße von 512 Byte) und bis zu 16 TB (mit einer Sektorgröße von 64 KB). Das ist immer noch groß genug für die meisten Installationen im Jahr 2016. Leider betrug die größte Dateigröße (ein Byte weniger) 4 GB, was heutzutage ziemlich klein ist.

Mit exFAT wird diese Beschränkung auf 4 GB aufgehoben, sodass Dateien bis in den PB-Bereich reichen. Ähnlich ist es mit der Volumengröße. Hierzu werden 64-Bit-Felder verwendet. Da FAT32 Felder mit einer Länge von 32 Bit verwendete, erhielt exFAT natürlich den Spitznamen FAT64.

Also ja. FAT64 und exFAT sind dasselbe. exFAT ist der richtige Name.

ChrisInEdmonton
quelle
5
Die Größe bezieht sich jedoch im Allgemeinen nicht auf "Längenfelder", sondern auf die Größe der Cluster-Aufzählung. Sind das nicht noch 32 Bits?
JDługosz
3
@ JDługosz Sieht so aus. Wikipedia gibt das Limit als 2 ^ 32 - 11-Cluster an, was gut mit einer 32-Bit- Clusternummer übereinstimmt. Dies steht im Gegensatz zu FAT12 (12-Bit-Clusternummern), FAT16 (16-Bit-Clusternummern) und FAT32 (32-Bit-Clusternummern), bei denen die Nummer im häufig verwendeten Namen direkt der Länge der Clusternummer entspricht. Ich bin mir ziemlich sicher, dass ich in den FAT16-Tagen viele, viele Dateien hatte, die größer als 2 ^ 16 Bytes waren.
ein Lebenslauf am
Stimmte der Antwort zu. Das Ziel von ExFAT war es, die FAT32-Beschränkungen wie Dateigröße und Partitionsgröße, die es gab, tatsächlich zu beseitigen. Das ist der Grund, warum die 64-Bit-Felder und deshalb der logische Spitzname von FAT64 (was technisch gesehen ist).
Overmind
Die Dateigröße betrug seit der ersten Verwendung von FAT unter MS-DOS immer 4 Byte, obwohl laut Wikipedia der 8-Bit-Vorläufer anscheinend 24 Bit oder 3 Byte betrug.
JDługosz
1
Das Minus 11 basiert auf der Tatsache, dass der Cluster 0 & 1 nicht existiert, der Cluster FF7 schlechte Cluster markiert und für frühere FAT FF8 bis FFF (8 Zellen) [2 + 1 + 8 = 11]
Robert Shulkich,
26

Rany hat größtenteils recht. FAT basierte jedoch nicht auf dem Längenfeld, sondern auf der Größe des Indexwerts. Also, mit Disketten hatten Sie FAT12, wo jede Zelle in der FAT-Tabelle 12 Bit, dann FAT16 und dann FAT32, die 32 Bit groß war, aber nur 28 Bit verwendet. exFat verwendet auch 32-Bit-Zelleneinträge, aber ALLE 32-Bit-Einträge werden verwendet und ermöglichen 2 ^ 32- Cluster mit einer maximalen Clustergröße von 32 GB für ein gesamtes Dateisystem von ca. 128 GB

Das Dateisystem wurde als FAT64 bezeichnet, da ohne Kenntnis der Struktur des Dateisystems lediglich angenommen wurde, dass es die FAT von 32 auf 64 verdoppelt hat, was nicht der Fall ist. Die Schaffung von exFAT sollte viele Probleme lösen. Die 4-GB-Grenze für die Dateigröße war ein großes Problem, da viele Videos mit hoher HD-Qualität ins Spiel kommen, bei denen stundenlanges Video viel Speicherplatz beansprucht. Besonders hochauflösend (1080P) und super hochauflösend (4K), die diese Barriere in 10-15 Minuten erreichen können. Das Dateisystem wurde jedoch auch für die Leistung, insbesondere für die Videoaufzeichnung, entwickelt. Höhere Schreibgeschwindigkeiten, weniger Overhead. Dafür gibt es weniger FAT-Aktualisierungen, die Bitmap wurde eingeführt, zusammenhängende Dateiverbesserungen, vorab zugewiesene Dateibereiche, um den Overhead zu reduzieren. Aufgrund der Verbesserungen im exFAT-Dateisystem ist exFAT das Standarddateisystem für SDXC-Speicherkarten.

Robert Shulkich
quelle
4
"Day table"? Ist das ein Tippfehler oder so?
JDługosz
4
@ JDługosz Kämpfer des Nachttisches.
JFA
1
Der Tag ist ein Tippfehler, da die FAT (File Allocation Table
Robert Shulkich am
2
Sie wollen mehr Schmutz auf ExFAT-Interna? sans.org/reading-room/whitepapers/forensics/…
Robert Shulkich
13

Während exFAT einige Konzepte von FAT leiht, gibt es große Unterschiede, so die Behauptung , dass exFAT ist (im Grunde) FAT64 einfach falsch ist.

Zwischen FAT12 und 16 wurde nur die Größe der Zuordnungstabelle geändert. FAT32 verfügte über eine noch größere Zuordnungstabelle (32 Bit pro Eintrag). Einige neue Konzepte (eine variable Adresse für das Stammverzeichnis, eine Schnellnachschlagetabelle für den nächsten freien Eintrag, Redundanz-BPBs usw.) wurden eingeführt. (Denken Sie daran, dass VFAT, dh lange Dateinamen und dergleichen, keine Verbindung zu FAT32 haben, da es sich lediglich um einen (recht cleveren) Hack handelt, wie Verzeichnisse verwaltet werden.)

Wenn Sie ein exFAT-Dateisystem schreiben, indem Sie einfach einen FAT32-Treiber verwenden und die Zuordnungstabelle erneut erweitern, werden Sie keinen Erfolg haben (einfach, weil die Zuordnungstabelle immer noch 32 Bit breit ist) Zuweisungstabelle nur für Dateien, die nicht in einem Stück gespeichert sind (andernfalls werden einfach Datenlaufeinträge verwendet), und die Art und Weise, wie Verzeichnisse gespeichert werden, hat ein völlig anderes Format.

Ro-ee
quelle
5

Ja, exFAT ist der offizielle Name und FAT64 ist das Synonym.

Máté Juhász
quelle
13
Hast du ein Zitat dafür?
einen Lebenslauf vom
1
Nein, ich habe kein Zitat dafür, irgendeine Ressource, die ich gefunden habe, erwähnt beide zusammen, aber dort ist es nicht explizit gesagt.
Máté Juhász
6
Beachten Sie, dass diese Antwort meines Erachtens korrekt ist und vor meiner ausführlicheren Antwort veröffentlicht wurde.
ChrisInEdmonton