Though they do happen, verification errors are extremely rare. We estimate that less than 1 in 1,000 systems have problems that lead to image file corruption. The vast majority of Macrium Reflect users will never encounter a single verification issue.
This article explains what happens during the image verification process and how to troubleshoot problems with your system.
What is a verification failure?
Quite simply, it means that data that was written to the backup or image file is not the same as is read back from the same file.
Errors of this type are symptomatic of a computer system with a marginal hardware problem. The most likely suspect is your backup media - but memory and motherboard faults can also cause this issue.
How does Macrium Reflect check the data integrity?
Data blocks read from the image file are compared with the original data that was read from the image source disk by using a hash comparison.
When an image is created each block of data (generally 64K but may be larger depending on the partition size) has an MD5 hash digest created after it is read from the disk and before it is written to the image file. This hash value is saved in the index of the image file. When the file is read back the hash value is recalculated and compared with the original hash in the index. Any discrepancy between the two values indicates that the image file is corrupt or cannot be read back reliably.
Macrium Reflect uses the unmodified code from the reference implementation of the RSA Data Security MD5 message-digest algorithm. This guarantees that the same block of data cannot generate a different message digest (hash) value. If data is read back with a different MD5 hash value to the value that was generated when the data was originally read from disk, it is guaranteed to be corrupt. This is always outside of the control of Macrium Reflect as the OS will report a write without any error.
Why can't Macrium Reflect validate the data as it is written?
It isn't possible to verify the file as it is written because the buffers and caches in the write process aren't flushed to disk until after the file is closed. The only way to verify data integrity is to close the file at the end of the backup process and then read the file back. It's possible to do this automatically by selecting the 'Auto-Verify' option in the Advanced backup definition properties.
Why don't I have any other problems with my system?
You do, you just haven't noticed it yet. If your PC can't write and read back data reliably then this won't just be a problem with Macrium Reflect, all software on your PC will be vulnerable to same problem. Macrium Reflect is either the first to trigger it or is the only software reporting the problem to you.
Files are not checked for integrity by Windows, so unless an application does it explicitly, disk errors could have been occurring silently. Macrium Reflect handles very large volumes of data with a consequently high chance of triggering any intermittent hardware errors.
I don't believe you. How can I be sure it isn't a problem with Macrium Reflect?
To independently corroborate the problem you can use a third party utility to show the same corruption:
- Use the DOS copy command with the '/v' switch to copy a large single file (peferably the same size as the image file that's failing) from the source of the image to the same backup device. The '/v' switch will verify the file after copying and will report any errors.
- If you want to use a GUI based application the try the free utility ExactFile available from http://www.exactfile.com. A pdf article on using ExactFile is available here: http://updates.macrium.com/reflect/utilities/exactfile.pdf
- Try a different imaging application that provides verification such as Acronis or Norton Ghost.
Note: The DOS copy command and ExactFile checks aren't conclusive as file checkers read the file sequentially and the error may only occur during random access. Due to the different execution and data paths, success in any of the detail test is not an absolute guarantee that your hardware is fault free.
Troubleshooting verification problems:
The key to resolving verification errors is to locate the source of the corruption. This can be very difficult and may involve replacing PC components or upgrading firmware or software drivers.
1. Isolate the backup drive
If the backup drive is an external drive then backup to the same drive using a different PC. If your system is generally stable then the issue causing the verification error may have very low probability of occuring. Therefore, to optimise the chance of triggering it, you should try to backup the same or a greater volume of data. If you still receive verification errors then your drive is faulty and you should use a different backup device.
2. Use different data leads and ports
If possible try using a different sata or usb leads or connecting the device to a different port. Also, if using USB, try removing any USB hubs between the storage device and the computer.
3. Try a different backup destination
Try combinations USB/Fire-wire/eSata/Network. If you only get corruption with one of the connection types then that sub-system has a problem. Updating the firmware or software drivers for the controller might resolve the problem.
Also, try connecting directly to a USB port with high a quality USB cable. USB hubs can often be a source of corruption.
3. Replace or swap out your RAM modules
If the error can't be traced to a single component then you may have faulty system RAM. If you have more than one RAM module installed then swapping out the memory can isolate the faulty RAM module.
Note: Memory checkers such as 'memtest86' will often fail to find any problems even though there is a latent issue with the RAM.
4. Turn off your anti-virus software
We have had an uncorroborated report that some anti-virus software can corrupt disk writes. If you find that your images pass verification after disabling your AV software then we strongly recommend that you un-install your AV software as it is compromising your system.
Verifying image and backup files
Verifying image and backup files from the command line