9

When Windows encounters a file corruption on a file system, it may return the following error message:

Data error (cyclic redundancy check).

This suggests Windows checks every file operation (copy, move, etc.) by calculating CRCs. Does Windows really do this, whether during or after the operation?

bwDraco
  • 45,747
  • 43
  • 165
  • 205

1 Answers1

6

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.

Glenn Slayden
  • 1,465
  • 12
  • 20
Breakthrough
  • 34,227
  • 10
  • 105
  • 149
  • I've actually looked at the linked [so] 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