Verifying the accuracy of a HDD copy

I moved the data from an almost-full 500GB drive to a more spacious 1.5TB drive. Before removing/retiring the 500GB drive, I want to be verify the reliability and accuracy of the new drive. Are there built-in Win 7 tools? A third party solution?

What kind of checking do you want to do? The copy process is digital so it either works or it doesn’t. If it isn’t going to work, you will get an error message during the copy. You can also just open a few files to make sure that they work and run chkdsk if you want to be extra careful.

If you are worried that you might have missed some hidden files or want to make sure that you can use the new drive as a boot drive, that is a different question.

Basically, I want to verify that some files didn’t get skipped in the copy process.

There are actually two major copy operations taking place, a disk-to-disk (movies, audio, pictures) and an NAS-to-NAS (primarily MS Office and CS4 files).
Since I’m working with pairs of drives (2 new drives to build the RAID 1), I actually copied things twice–once with RichCopyand once with FastCopy.

Here’s where things got weird. I opened Windows Explorer, right-clicked on the various drives, and looked at “used space.” The copy made with RichCopy was about 30 MB too low. The copy made with FastCopy was about 3GB too large. Both destination drives were new, blank, WD drives before I started.

My initial thought was that this was a poor method of comparing drives. Then I started searching and did not find a simple answer–hence the OP.

For both drives I want to be sure that we didn’t lose that critical file, either that one video of our precious little snowflake or that one needed copy of a client’s work file.

Missed edit window. I should also mention that RichCopy’s logs had some unknown errors. Several lines said “error code 3: the system cannot find the path specified.” A few lines had a path from the source drive, but most ‘path’ lines were blank. I have no idea what files they pointed to.

You can use something like winmerge (open source) or freefilesyncto do a full file compare between disks or directories and synchronize any differences if any are found.

I have found that simply looking at drive properties to see how much space your files are taking up is unreliable; as an example, the partition I use for personal files has 1.45 GB of used space - but if I highlight all of the folders in it and look at properties, they only use 1.28 GB (size on disk, 1.15 GB actual, also shows the number of files, 24,710 and folders, 1,375) - so where is the extra space coming from? (I’d guess the master file table and other housekeeping; the recycle bin is empty so it isn’t that).

Also, I found [this thread](Richcopy did not copy many files and no security was copied) about RichCopy which sounds disturbing (why not just use Windows Explorer?).

Thanks. Experimenting with Winmerge now. It quickly found the differences between a couple local directories with ~500 files, now to see what it does with thirty thousand+.

ETA: I went with Richcopy because FWIU, it’s a GUI for Robocopy. Files have been created form all sorts of sources Explorer often chokes on things when there is a large copy operation. I added FastCopy to the mix because I know we have some long paths, and though I tried to get rid of them all I likely missed one or two.

Housekeeping uses some space of course, but the main cause of this is that Windows Explorer is bad at counting the space used by symbolic links. (Such as those in the WinSxS folder.) Which causes people to think that WinSxS is “broken” somehow, and they start deleting files, and now they’ve really broken it.

A symbolic link is a single file/directory that has multiple paths. Explorer will total up the size from each path without realizing they all refer to the same folder.

Edit: I just realized yuo said the partition only contained personal files, so this explanation doesn’t apply. Hm. Sorry.

Another option is to run Robocopy from the command prompt with the /L switch. This will make it list the files that it would copy, without actually doing anything.

For example,


robocopy "x:" "z:" /MIR /L /NS /NDL /NP /LOG:c:\rclog.txt /TEE

will compare the complete contents of the x: and z: drives and write a list of any different files to c:\rclog.txt. Files which exist in the destination but not in the source will show “*EXTRA” next to their names.

Just be sure you include the /L, unless you actually intend to copy the entire drive contents and purge extra files from the destination.

Thanks. I did the copy with RichCopy because I wasn’t sure I’d get the robocopy tags correct (I believe RichCopy is a Robocopy GUI). I even posted a robocopy thread, but got no takers).

Your code looks for files that exist in the destination but not the source. Our concern would be files in the source that didn’t make it through to the destination–could I just reverse the X and Z?

Winmerge has been running for several hours now, slowly plodding along. The NAS transfer has over 120 thousand files. The personal disks have much less. Their counter is going up, but very slowly now–I assume it’s checking large video files and getting bogged down.

My command will list files which exist in the source but are missing or different in the destination, as well as files which exist in the destination but not in the source. The latter will be denoted with “*EXTRA” in the log.

Also, RichCopy is a completely different utility. Robocopy GUI is a Robocopy GUI. Either one will work, but I’m partial to Robocopy.

I must have missed your previous thread.