Wozu dienen FAT-Reserven?

524
VortixDev

Basierend auf den Informationen, die ich auf dieser Seite sehen kann :

  • FAT12 verwendet maximal 4086 Cluster (2 ^ 12 - 10)
  • FAT16 verwendet 65526 ​​(2 ^ 16 - 10)
  • FAT32 verwendet ~ 268435456 (2 ^ 28)

Ich verstehe, dass FAT32 28 Bits statt 32 verwendet, da 4 Bits reserviert sind, aber was ist mit der Diskrepanz in der maximalen Anzahl von Clustern? Warum stehen für FAT12 und FAT16 10 weniger Cluster zur Verfügung, als dies aufgrund der Anzahl der verfügbaren Bits erforderlich ist?

Sind diese Cluster vorhanden, aber für bestimmte Funktionen reserviert? Wenn ja, wofür werden sie verwendet?

1

1 Antwort auf die Frage

2
Akina

Warum stehen für FAT12 und FAT16 10 weniger Cluster zur Verfügung, als dies aufgrund der Anzahl der verfügbaren Bits erforderlich ist?

  1. Die ersten beiden Werte für Cluster-Nummern (0x0 und 0x1) sind nicht verfügbar. Die Platzierung für diese Werte in der FAT-Tabelle wird zum Speichern der FAT-Signatur verwendet. Die erste Clusternummer ist 0x2.

  2. Die letzten 8 Werte für die Clusternummern (0xff8..0xfff und 0xfff8..0xffff) sind für spezielle Marken reserviert (Ende der Clusterkette, fehlerhaftes Cluster usw.).

Weitere Werte stehen für die Clusternummernkodierung zur Verfügung.

In der FAT-Dokumentation heißt es auch von Microsoft (ich paraphrasiere): "Die Welt ist voll von fehlerhaften FAT-Treibern, daher sollten Sie mindestens 16 Cluster von den oben genannten Werten fernhalten" (dh, Sie sollten kein FAT12 erstellen.) mit 4085 Clustern oder FAT16 mit 4087 Clustern, FAT16 mit 65525 Clustern oder FAT32 mit 65527 Clustern, da viele FAT-Treiber da draußen verwirrt sein werden, und versuchen Sie es mit einem FAT32 / 16/12-Treiber (FAT-Dokumentation, S. 15). Ro-ee vor 5 Jahren 0