Sunday, March 28, 2010

Using GetDataBack, ddrescue and SystemRescureCD to recover data from a crashed hard disk

A friend recently called me in a panic. He'd lost a lot of valuable work from his laptop, which was now refusing to boot into Vista. To cut what would otherwise be a very long story short, the vast majority of the data was recovered, and here's what I used to do it.

SystemRescueCD (a free Linux distro) was used to make a bootable CD. It comes with ddrescue preinstalled (don't confuse this with dd_rescue, which is not as good). This program was used to do a low-level copy of the damaged disk to another (larger and new) disk. The beauty of ddrescue is that it initally copies the entire disk, skipping any errors it encouters. Once complete, it goes back and tries various techniques for reading any salvagable information from the damaged areas of the disk.

The vital files on the disk were still unreadable, with the folder holding the most important files returning an I/O error. Booting my personal computer into Windows, I then used a program called GetDataBack (commercial tool, US$79) to scan the disk and it successfully read the folders that Linux and Windows could not. It then allowed me to copy the data out onto (yet) another disk, and burn it to DVD for him.