How do I recover a HFS+ journaled drive?

EDIT: I found a quasi-solution that sort of kind of works:

mount -o loop,offset=209739776,rw -t hfsplus /dev/sdc /mnt/mountpoint/

It appears (via "find /mnt/mountpoint/") that all my data is there, but attempts to access some of my data yields an "input/output error".

I had an external 2 or 3 TB (I'm not sure which) USB drive connected to my Mac (running OS X Snow Leopard) with an HFS+ journaled filesystem on it.

The drive was working fine, but was a bit slow and occasionally gave I/O errors, so I backed up my files and ran fsck_hfs on it.

fsck_hfs died while trying to rebuild the B-tree, and the drive won't mount at all now. Also, I lied about making backups first.

How do I get this drive working again? Given the redundancy of HFS+, this should be possible no? Other notes:

  • If I run fsck.hfsplus -df /dev/sdb3 on a Linux box, I get this:

 
** /dev/sdb3 
        Block 1565298166 is not an MDB or Volume Header
** Checking HFS Plus volume. Invalid number of allocation blocks (-1, 0) IVChk - volume header total allocation blocks is greater than device size
volume allocation block count 732533183 device allocation block count 195662271
** Volume check failed. volume check failed with error 7
volume type is pure HFS+
primary MDB is at block 0 0x00
alternate MDB is at block 0 0x00
primary VHB is at block 2 0x02
alternate VHB is at block 1565298166 0x5d4c8df6
sector size = 512 0x200
VolumeObject flags = 0x03
total sectors for volume = 1565298168 0x5d4c8df8
total sectors for embedded volume = 0 0x00

Using a Perl script and "seek", I can see some of my filenames surrounded by information that I assume is telling me where on the drive to find my files. If all else fails, I'll pursue recovering files this way, but I'd prefer a "cleaner" recovery option.


DiskWarrior 4. It will run you $99. I've used DiskWarrior for several years and I'm very pleased with the results.

Data Rescue 3. $99. Similar to DiskWarrior, just an alternative program. Never used it before, but I've heard some good things about it. It's also sold in the Apple Store which gives it a lot of credibility.