Does Windows Calculate CRCs To Check Every File Operation - Superuser
Does Windows Calculate CRCs To Check Every File Operation - Superuser
When Windows encounters a file corruption on a file system, it may return the following error message:
This suggests Windows checks every file operation (copy, move, etc.) by calculating CRCs. Does Windows really do this, whether during or after
the operation?
1
Share Improve this question Follow edited Mar 14 '13 at 21:45 asked Mar 14 '13 at 21:27
bwDraco
44.1k 41 161 197
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
6 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.
Share Improve this answer Follow edited May 23 '17 at 12:41 answered Mar 14 '13 at 21:35
Community ♦ Breakthrough
1 33.4k 10 101 147
I've actually looked at the linked Stack Overflow question. What I'm asking is whether Windows calculates CRCs on the fly during file operations, not necessarily
whether it stores them.
– bwDraco
Mar 14 '13 at 21:40
@DragonLord I do not believe it does, otherwise these errors would appear during normal read/write errors where there are not bad sectors reported. You can use
a third-party utility to actually verify file contents once they are transferred.
– Breakthrough
Mar 14 '13 at 21:44
Edited the question to clarify. Does Windows perform any error checking while a file operation is in progress?
– bwDraco
Mar 14 '13 at 21:46
@DragonLord in my experience, no. I have used Windows to copy files to bad drives before, and sometimes have not received the error message. They were only
detected when I manually tried to verify the CRC (or MD5/SHA1 hash) of the files and they did not match. I believe the error message is only shown when the
actual disk device driver throws an error during transfer, or the NTFS filesystem itself detects some kind of corruption.
– Breakthrough
Mar 14 '13 at 21:56
1 There are actually three distinct conditions that can cause this error (in the typical IDE/SATA interface to conventional hard drive): 1) Data corruption on the
connection between the hard drive and the controller. 2) Data corruption in the data read by the disk controller from the disk surface despite retries. 3) Access to a
disk sector known bad by the controller that cannot be remapped until written to.
– David Schwartz
Mar 14 '13 at 23:10