My Great Linux System Repair Adventure 

http://lwn.net/Articles/235070/

I did a lot of system recovery recently on a Windows XP system with a bad disk, and SystemRescueCD was invaluable - it has a great set of tools and is easy to use for Linux people, and has some graphical tools for those who don't know Linux.

The basic approach I used to copy as many good disk blocks over to a new disk, using GNU ddrescue - I also used SpinRite as a quicker alternative just to make data available before the new disk arrived.

  1. Rather than using the included dd_rescue, use GNU ddrescue, which is much faster as it doesn't involve a shell script when trying to extract the maximum good data from a disk. It would be good if SystemRescueCD included this as an option (or ultimately a replacement as it does the same thing). See http://www.gnu.org/software/ddrescue/ddrescue.html
  2. To recover more data from the disks, I used SpinRite, an inexpensive commercial tool that recovers failing hard disks (and improves health of disks that are near failure). It boots from its own disk, can be used with any hard disk whether it has a Windows or Linux filesystem, and the boot disk can be created under Wine. It worked really well at salvaging the maximum data possible, and is worth getting if you need urgently to recover data and don't have a spare disk of the right size to use with GNU ddrescue. It can also recover some bad data blocks if used before ddrescue, though I would always just use ddrescue first, then do a second pass with SpinRite once the good data is backed up. I don't think there's an open source equivalent. See http://en.wikipedia.org/wiki/SpinRite for more details.

Posted Jun 5, 2007 6:27 UTC (Tue) by guest Cato

documented on: May 23, 2007 by ris