How to make a grown man cry; or, comparing file recovery tools

I’m here to tell you that my brain should have been screaming at me earlier when I wrote the following passage:

…this morning I bit the bullet and deleted the remaining 32 GB of files.

Because, of course, when I deleted the contents of my Music folder, I also blew away the special iTunes folder. Which, of course, iTunes wants to have in the Music folder rather than in the Library like everything else that matters about your account. And which, of course, contains the iTunes Library and iTunes Music Library.xml files, which contain pointers to all the songs (trivial to recreate), all my playlist definitions (not trivial to recreate), and all the playcounts.


Last time I lost the playcounts in the library it took me almost eight months to listen to every track again. One eMusic subscription and 200+ CDs of The Project later, that’s looking more like a year and a half. Not to mention recreating all the playlists.

So, I thought desperately, what to do? I know: in the olden days, I would have run Norton Utilities and undeleted the files. Simple, right?

Unfortunately, with HFS+ or Mac OS X or something, file recovery is a lot more difficult, as I discovered when I auditioned two recovery packages (and when I say “auditioned,” I mean bought, as that’s really the only way to test them out.

First up: FileSalvage, which has some really nice features, including a list that gets dynamically updated as new files are discovered, in-application preview (or at least text listing) of discovered files and … well, that’s it. Here‘s the trouble with file recovery in the Brave New World: there are no residual directory entries left to show what the file names once were. Somehow the type data is identifiable, but you don’t know the names. FileSalvage resolves this problem by presenting a list sorted by file type (good), where all the files of a single type have the same name (bad). If you are trying to find a single JPEG out of a list of 20000 items marked “file.jpg”, you’re really going to need that in-application preview.

Unfortunately there was a worse problem: it didn’t find either my binary iTunes Library or the XML based iTunes Music Library.xml. And of course at this point I discovered that not only did I not have the out of date backup I thought I had, I actually had no backup, thanks to a series of misadventures with Apple’s .Mac Backup software and the old 250 MB limit on iDisks.


So I turned again to Google and found a recommendation for another backup program, DataRescue from ProSoft Engineering. Another chunk of change and another disk scan later, I had progress—in the form of 89 little fragments of either the XML file or the main binary database. And of course, all of them are incomplete and all of them have corrupting interpolations in them somewhere. So while I may be able to rescue the data from the XML file, I will be hand-editing a bunch of them to try to pull back as much as I can.

So ripping CDs is temporarily on hold, as is syncing the iPod, or doing just about anything else fun. I think this is going to take a while.

Oh: Definitely today DataRescue gets the big thumbs up for actually finding the damned files, even if they were in a zillion pieces.