Power loss and Robocopy

May 1, 2018
19
0
20
I was in the process of MOVING a large amount of data to an external Seagate HD with robocopy when suddenly there was a power outage in my area, when the power was restored, the total number of files in the sources was unmodified, in the external HD, some files were present, I ran a chkdsk /f/v on both, no errors were reported, I am reluctant to use "/r" on a 2 TB HD because it would take forever, I keep reading online that there might be damage when a power loss occurs when there is writing to the HD (like my case).
So, what is the possibility of an error that got passed the "/f /v" options.
How does moving with robocopy works, shouldn't the moved files be deleted from the source?
Thanks
 
You don't always get a problem when there is a powercut, but sometimes there is.
It doesn't make the hard disk crash in the sense of physical, just means the last file it was copying probably didn't copy.
If you have run chkdsk then you don't have errors as it would have found it.

As for Robocopy - no idea what that is. Not sure how it is different from normal copy (cba looking it up)
 


Robocopy stands for Robust file copy, it is present since Windows XP, it provides more functionality than the normal copy, my favorite part is the preserving of the time stamps of files and folders (it can be used by system admins for comparing different versions of a file, I like to preserve the file creation date for nostalgic reasons, some files date back to 2000).

I am searching for the inner working and why exactly it didn't move some files.
 
A move is just a copy, then delete after the copy has completed. The files on the destination drive were probably successfully copied and deleted from the source drive, with the exception of the one file which was in the process of being copied when the power was cut. That will be present on both drives, as a short (corrupted) version on the destination drive if it's present at all (in theory it won't show up in a journaling file system like NTFS since the copy never completed). If you attempt to copy/move again, this file will pop up a dialog box saying the file already exists, would you like to copy again to the same file name (overwrite), or copy again with a different file name (save both copies). You should choose the overwrite option for all such files (there might be more than one due to write caching).

For the type of copy/move operation you're doing, I would recommend using a file copier which has a verify-after-copy function. This will double the time it takes to complete the copy/move, but it guarantees the copy has been done without errors. Basically it copies the file to the destination, then reads the destination file back and compares its checksum to the checksum of the original file. If they're different, then it knows there was a write error and flags the file to the copied again.

The program I normally use that has this option is Teracopy 2.27. But I'm reluctant to suggest it in this case because I know from experience that it has problems with copying large numbers of files like you're doing. Seems to be some sort of limit for the maximum number of files and checksums it can hold in memory. But it'll work if you break your copy into smaller chunks (a few root folders at a time) instead of the entire drive at once. Just make sure you turn on the verify-after-copy option.

There are other file copiers with the same verify function, but I haven't had much chance to play around with them. Maybe someone who's used them can recommend some. From what I hear, the verify flag in Windows copy and xcopy just checks that the file sizes match, it doesn't check the checksums.
 


That's why I am asking about the Robocopy functionality, the supposedly moved files are present in BOTH drives, the source were never deleted.

Thanks for the advice, Teracopy seems a good solution, but I am still worried about the external HD, there was a writing operation when I lost power so I am afraid for other files and since it has 900GB of files, it is nearly impossible to check every single file for corruption.