Ich habe eine Datei in Windows 10 mit 362 Byte Daten, aber die "Größe auf der Festplatte" beträgt nur 0 Byte. Es ist ein einfaches "Hallo Welt" -Programm, das in Assembly geschrieben und in Notepad ++ gespeichert wurde .
Wie ist es möglich, dass die Größe auf der Festplatte Null ist, wenn die Größe der Datei 362 Bytes beträgt?
Ich habe eine SSD, keine normale Festplatte.
Screenshot des Eigenschaftsdialogs:
Antworten:
Dies passiert, wenn die Datei so klein ist, dass ihr Inhalt und die Buchhaltung des Dateisystems in 1 KB passen. Um Speicherplatz zu sparen, speichert NTFS kleine Dateien "resident" und speichert ihren Inhalt direkt im Dateidatensatz, sodass kein Cluster dafür zugewiesen werden muss. Daher ist die Größe auf der Festplatte Null, da nichts über den Dateidatensatz hinausgeht. Sobald die Datei ausreichend groß ist, wird sie von NTFS "nicht resident", es werden ein oder mehrere Cluster zugewiesen (wobei eine "Größe auf der Festplatte" ungleich Null erstellt wird) und anstelle der Daten ein "Zuordnungspaar" im Dateidatensatz erstellt Zeigen Sie auf den Cluster.
SSD-Festplatten oder Windows 10 beeinflussen dies nicht. Es ist einfach eine NTFS-Funktion. Lesen Sie weiter: Die vier Phasen des NTFS-Dateiwachstums .
Beachten Sie, dass die Metrik "Größe auf Festplatte" nicht genau richtig ist. Beispielsweise enthält es nie die Konstante 1 KB, die der NTFS-Dateidatensatz belegt. Die Metrik wurde in Windows 95 eingeführt, das kein NTFS verwendete und daher dieses Phänomen nicht hätte berücksichtigen können. Es wurde nur die auf das nächste Vielfache der Clustergröße aufgerundete Dateigröße angezeigt. Dieser Schätzalgorithmus wurde auf Windows 7 übertragen, obwohl viele Windows-Versionen NTFS und residenten Speicher verwendeten. Es wurde schließlich in Windows 8 aktualisiert, um Dateien mit nur residenten Daten als Größe Null auf der Festplatte zu zählen. Weiterführende Literatur: Was ist "Größe auf Platte"?
quelle