My hard drive asplode! Anyone know of any free utlities I can use to repair damaged directory structures?
January 13, 2008 9:25 PM   Subscribe

Recently, one of my hard drives failed, with bad sectors all over the place. I've gotten the partition repaired, but some of the directories are damaged. What free tools can I use to reconstruct them?

Initially, it wouldn't show up in Windows (XP) because one of the bad sectors related to the partition's bookkeeping. (It was a Windows Dynamic Drive partition. I have no idea why I chose that. I guess some dialog box talked me into it way back when.) I used TestDisk to change the partition type, and I could look at the drive through Windows again.

This drive contains most of my mp3s. I started copying out the directory containing them. The subdirectories in the mp3 directory are managed by iTunes and are all named by artist. Unfortunately, xcopy just stopped after copying the subdirectories that started with a number or A through D. Both Windows Explorer and dir from the command prompt show only those subdirectories, no subdirectories that start with E-Z. The dir listing ends with "File Not Found."

I've taken this to mean that the directory structure is in a bad sector. How can I reconstruct it and get back the files within? I'd prefer free or cheap tools. As much as it is a bitch to re-rip or re-download all of that stuff, I'm not yet sure I want to pay $100 for a shot at getting it back. I'd love to have it back for free, though!
posted by ignignokt to Computers & Internet (6 answers total) 3 users marked this as a favorite
How do you feel about $40?
posted by flabdablet at 9:33 PM on January 13, 2008

The canonical answer is Spinrite, which costs, unfortunately. I've used it, though, and it really does work. Steve Gibson has told many stories about people who got the tool through illicit means, found that it worked as advertised, and paid for a license after the fact, so that might be worth thinking about, if you have no luck.
posted by stavrosthewonderchicken at 10:06 PM on January 13, 2008

I second Spinrite, a 5-year old drive of mine failed badly recently. Couldn't boot, the file system was so corrupted that chkdsk couldn't even tell if it was NTFS or FAT and a linux utility I used thought there were no partitions.

Tried Spinrite and after running for almost four days I was able to boot the system and recovered all the data.
posted by aerotive at 11:55 PM on January 13, 2008

Donate if you like.
posted by rhizome at 1:02 AM on January 14, 2008

1) STOP.

2) Ask yourself this question. Is my data worth, to me, $1500?

If yes, don't touch that drive. Call DriveSavers or Ontrack Data Recovery. *

If no:


Use xcopy /c or xcopy32 /c, which will continue on errors (I think robocopy would work as well, but I'm not sure,) but before you do a thing, you *must* get *every* bit of readable data off first. Ideally, you ghost or dd or whatever disk cloner you like the data onto another disk before the repair.

All drive "recovery" utilities can easily screw up and wreck even more data, even Spinrite. You have to save what you can. Note, that if there is a physical flaw, trying to save the data may well damage more data. This is why the rules above -- if you're going to send the disk off for data recovery, *every* time the head moves is another chance that you've lost more data.

The trick to this is patience and persistence. Most normal tools are going to bail the moment they hit an error. This often means going into subdirectories and copying files, sometimes, it means copying by hand, but the best way to maximize the recovery is to work the problem, often file by file.

Once you have everything done, you run the disk fixer. After that, you try to copy what you couldn't before.

The last gasp trick for a damaged directory involves using a disk editor to delete the inode for the directory, then the file system check utility (in your case, chkdsk) to find the lost files, which it'll misname, then you try to figure out what they are. This is unpleasant, at best.

As to that $1500? That's the worst case scenario. Both outfits have quoting forms, you might want to run it by them.

*) I've used the latter. Once, about a decade ago, with a burned (yes, as in fire) 9GB SCSI drive. They got every byte off the drive.
posted by eriko at 5:39 AM on January 14, 2008

Not answering the OP, but in addition to eriko's comments above, use robocopy, and specifically with this syntax:

robocopy /copyall /b /sec /mir /r:0 /w:0

You can run this script as many times as you like. The first time it will make an exact copy, the sunsequent runs will only copy updates (including deletes). I run this daily between my two external 500GB drives and it ensures I'm only ever one day behind on my data should I lose one drive or some data.

posted by daveyt at 5:51 AM on January 14, 2008

« Older Hi, I'm AWKWARD! (But how awkward am I?)   |   How to check beer on a plane? Newer »
This thread is closed to new comments.