6

I have a drive in our iMac that has bad blocks, as booting from an Ubuntu 11.10 live CD and using ddrescue -f /dev/sda /dev/null finds them. I'd like to get the drive to remap them by writing to the blocks, say using hdparm --write-sector, but I don't want to do this without knowing what's in those blocks and finding the file that owns them, so I can restore the file from another source.

I found fileXray but don't feel like spending $79 to map a block to a file and hfsdebug has been taken offline. Are there suggestions on a tool or technique to use?

I looked at all the Ubuntu HFS+ packages to see if they could provide this info but nothing jumped out at me.

BTW, I used Disk Utility to erase the empty space, but it didn't get any of the bad blocks to be remapped, according to smartctl -A.

Glorfindel
  • 4,158

1 Answers1

3

If you are running Lion, man fsck_hfs and look at the -B option which says it will print files given a list of block numbers. Note: I had to include -n -f on the command to force a check, otherwise it just reported *** NO MATCH *** for all the blocks in my list.

Also, before attempting to overwrite a block, I'd want to develop and run some test to verify the mapping is correct between block numbers reported by ddrescue and those used by fsck_hfs and hdparm.