Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

share|improve this question
    
Back it up with Time Machine, erase the disk, and reinstall. –  gadgetmo Feb 16 '12 at 9:03

1 Answer 1

up vote 2 down vote accepted

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.

share|improve this answer
1  
Passing -l to fsck_hfs seems like a safer way if the filesystem is currently mounted. –  Blair Zajac Oct 18 '12 at 23:08

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.