Moving data off a dodgy disk

Recently I had the joy of a brand new hard disk developing bad sectors, this caused all sorts of issues, and once I’d worked out that the disk was having issues (a failed backup due to read errors, which lead to a chkdsk, which lead to a hurried purchase of a new HDD) I immediately tried several methods of getting the data off.

Method one – sector by sector copy – this method would attempt of course to copy the bad sectors, however after a while, this seemed to hang, left for 12 hours to have it progress no further, owch, what to do, what to do….

Method 2 – XXCopy – rendered the system unbootable, attempted to work out how to make a Win7 install bootable after the fact, not much luck… this led me too RoboCopy

Ended up using robocopy (Robust Copy) utility which is available on the Windows 7 boot disk, steps performed:
1) Partition new disk
2) Set active partition
3) Format NTFS
4) Run robocopy with the command string
robocopy d:\*.* c:\ /TEE /S /E /COPY:DATSO /PURGE /MIR /ZB /NP /XJ /R:3 /W:2

The source was D drive (D for Dodgy!) destination being the newly formatted Hard Disk
/TEE – Output to console – this way you can see that it’s changing files
/S – Copy Subdirectories excluding empty ones
/E – Copy Subdirectories including empty ones
/COPY:DATSO – What to copy for the files – (D)ata, (A)ttributes, (T)ime, (S)ecurity, (O)wner
/PURGE – Deletes anything on the destination that does not exist on the source (added this due to having some files from other playing about)
/MIR – Mirrors the directory tree
/ZB – Use restartable mode
/XJ – Exclude Junctions on NTFS filesystems
/R:3 – Retry 3 times
/W:2 – Wait 2 seconds before retrying

This got me a bootable Win7 installation, and a dodgy disk has now been sent for RMA. It failed to copy 17 directories and 5MB of Data, no idea what’s missing, but I’ve experienced no problems thus far (touch wood).

The first thing I did after all this, was a backup, then a full chkdsk – everything has been great so far.

I’m glad I was doing my backups – if I wasn’t I might not have noticed until it was too late.