I spent yesterday afternoon recovering from a hard drive failure on my ThinkPad A31p. The internal drive, running Windows XP, got flaky in the middle of working on some documents. Explorer.exe “failed to initialize with error 0xc000006,” networked drives disappeared. I had used SpinRite 6 to repair this drive at the end of August, and suspected it was approaching end-of-life. What I didn’t realize is how much information the drive could supply.
On SourceForge, you’ll find SmartMon Tools, a set of utilities available for Windows, OS X and Linux, that communicate with the S.M.A.R.T. interfaces available on most modern hard drives. I had not appreciated the capabilities of the interface: it stores recent errors, performs short and long self-tests, and displays logs of tests. Details on using SmartMonTools are available on the SourceForge site as well as this Linux Journal article.
Running tests on the drives confirmed my worst fears. Multiple read errors were scattered over the drive. With 19k run hours, it was in pretty bad shape. Luckily, I had anticipated this. Using Norton Ghost 2002 and the Open Source equivalent g4U, I had backed up and now restored the partition images to a spare hard drive. Swapping the new hard drive to the internal slot and the bad drive to the expansion slot, I rebooted into Knoppix to read the recently changed files off the bad drive and onto a USB tab. Rebooting into Windows, I copied the files from the USB tab onto the new drive. Why two-step? I’m a bit shy of writing to an NTFS partition within anything other than Windows, as the file system format is proprietary and not completely documented. Back up and running!
Check out the SmartMonTools, though. It looks like you can set them up to run tests in the background and on a regular schedule. Catch the hard drive failures before they become real trouble.