Berechnet Windows CRCs, um jeden Dateivorgang zu überprüfen?

8

Wenn Windows auf eine Dateibeschädigung in einem Dateisystem stößt, wird möglicherweise die folgende Fehlermeldung zurückgegeben:

Datenfehler (zyklische Redundanzprüfung).

Dies legt nahe, dass Windows jeden Dateivorgang (Kopieren, Verschieben usw.) durch Berechnung von CRCs überprüft . Tut Windows dies wirklich, ob während oder nach dem Vorgang?

bwDraco
quelle

Antworten:

6

Windows führt tatsächlich keine Redundanz bei Dateiübertragungen durch. Dies ist eine Fehlbezeichnung für den Gerätetreiber, der auf einen fehlerhaften Sektorblock zugreift (siehe SO-Frage Was und wo beschwert sich das NTFS-CRC-Fenster?) Und dieser Microsoft KB-Artikel : NTFS speichert keine Dateiprüfsummen). Wenn Sie diesen Fehler auf Ihrem Computer erhalten, sollten Sie die Integrität Ihrer Festplatte sicherstellen (und möglicherweise chkdskmit dem /rFlag aufrufen ).

Kurz gesagt, Windows überprüft nach der Übertragung keine Dateien. Sie können ein anderes Software-Tool wie TeraCopy verwenden , um Daten nach dem Verschieben / Kopieren von Dateien zu überprüfen.

Durchbruch
quelle
Ich habe mir tatsächlich die verknüpfte Frage zum Stapelüberlauf angesehen . Ich frage, ob Windows CRCs während des Dateivorgangs im laufenden Betrieb berechnet und nicht unbedingt, ob es sie speichert.
bwDraco
@DragonLord Ich glaube nicht, dass dies der Fall ist, da diese Fehler sonst bei normalen Lese- / Schreibfehlern auftreten würden, bei denen keine fehlerhaften Sektoren gemeldet werden. Sie können ein Dienstprogramm eines Drittanbieters verwenden, um den Dateiinhalt nach der Übertragung tatsächlich zu überprüfen.
Durchbruch
Die Frage wurde zur Klärung bearbeitet. Führt Windows eine Fehlerprüfung durch, während ein Dateivorgang ausgeführt wird ?
bwDraco
@DragonLord nach meiner Erfahrung, nein. Ich habe Windows zuvor zum Kopieren von Dateien auf fehlerhafte Laufwerke verwendet und manchmal keine Fehlermeldung erhalten. Sie wurden nur erkannt, als ich manuell versuchte, den CRC (oder MD5 / SHA1-Hash) der Dateien zu überprüfen, und sie stimmten nicht überein. Ich glaube, die Fehlermeldung wird nur angezeigt, wenn der tatsächliche Festplattengerätetreiber während der Übertragung einen Fehler auslöst oder das NTFS-Dateisystem selbst eine Beschädigung feststellt.
Durchbruch
1
Es gibt tatsächlich drei verschiedene Bedingungen, die diesen Fehler verursachen können (in der typischen IDE / SATA-Schnittstelle zur herkömmlichen Festplatte): 1) Datenbeschädigung bei der Verbindung zwischen Festplatte und Controller. 2) Datenbeschädigung in den Daten, die vom Plattencontroller trotz erneuter Versuche von der Plattenoberfläche gelesen wurden. 3) Zugriff auf einen vom Controller als fehlerhaft bekannten Festplattensektor, der erst nach dem Schreiben neu zugeordnet werden kann.
David Schwartz