Berechnet Windows CRCs, um alle Dateivorgänge zu prüfen?

4258
bwDraco

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

Datenfehler (zyklische Redundanzprüfung).

Dies legt nahe, dass Windows jede Dateioperation (Kopieren, Verschieben usw.) durch Berechnen von CRCs überprüft . Macht Windows dies wirklich, ob während oder nach der Operation?

8

1 Antwort auf die Frage

6
Breakthrough

Windows doesn't actually preform any redundancy on file transfers, this is a misnomer for the device driver accessing a bad sector block (see the SO question What, and where, is the NTFS CRC windows complains about? and this Microsoft KB article; NTFS does not store any kind of file checksums). If you receive this error on your computer, you should ensure your hard disk's integrity (and possibly invoke chkdsk with the /r flag).

Long story short, Windows does not verify any files after they are transferred. You can use another software tool like TeraCopy to verify data after moving/copying files.

Ich habe mir die verlinkte Frage tatsächlich angesehen. Was ich frage, ist, ob Windows CRCs während der Dateivorgänge im laufenden Betrieb berechnet, nicht unbedingt, ob sie gespeichert werden. bwDraco vor 11 Jahren 0
@DragonLord Ich glaube nicht, dass diese Fehler auftreten würden, andernfalls würden diese Fehler bei normalen Lese- / Schreibfehlern auftreten, wenn keine fehlerhaften Sektoren gemeldet wurden. Sie können ein Dienstprogramm eines Drittanbieters verwenden, um den Inhalt der Datei nach der Übertragung zu überprüfen. Breakthrough vor 11 Jahren 0
Die Frage wurde zur Klarstellung bearbeitet. Führt Windows eine Fehlerprüfung durch *, während ein Dateivorgang läuft *? bwDraco vor 11 Jahren 0
@DragonLord in meiner Erfahrung, nein. Ich habe Windows verwendet, um Dateien auf fehlerhafte Laufwerke zu kopieren, und manchmal habe ich die Fehlermeldung nicht ** erhalten. Sie wurden nur erkannt, als ich manuell versucht hatte, 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 eigentliche Festplattengerätetreiber während der Übertragung einen Fehler ausgibt oder das NTFS-Dateisystem selbst eine Beschädigung feststellt. Breakthrough vor 11 Jahren 0
Es gibt drei verschiedene Bedingungen, die diesen Fehler verursachen können (in der typischen IDE / SATA-Schnittstelle zu einer herkömmlichen Festplatte): 1) Datenverfälschung der Verbindung zwischen der Festplatte und dem Controller. 2) Datenverfälschung in den Daten, die der Plattencontroller trotz Wiederholungsversuchen von der Plattenoberfläche liest. 3) Zugriff auf einen vom Controller als fehlerhaft bekannten Plattensektor, der erst nach dem Schreiben neu zugeordnet werden kann. David Schwartz vor 11 Jahren 1