Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I am in the process of trying to recover files from a failed MacBook hard drive. While I've already replaced the drive in the machine itself and installed a fresh copy of OS X, I have the old drive in an external 2.5" SATA enclosure. I am able to (very, very slowly) view the directory structure and copy files, but it's an incredibly slow process and one failed file stops the whole thing. While I know there are paid drive recovery utilities out there, I'm just looking for something that will attempt to copy all of the files and directories from within a given directory and just skip the ones that can't be copied (ideally, I'd also like to know which files get skipped, but that's not a requirement).

Is there anything out there like that, preferably for free?

share|improve this question

1 Answer 1

up vote 2 down vote accepted

You could use ddrescue to try to clone the raw volume (there are some notes on running it under OS X on tinyapps.org). It basically tries to read over & over, getting as much as possible from the disk.

This isn't ideal for your situation, since it 1) needs enough free disk space (either a volume or a disk image) to hold the entire drive, including free space (i.e. if it was a 200GB drive with 10GB of files, you need 200GB to hold the clone); and 2) it doesn't tell you which files it couldn't read (you can look at the log and see what blocks it hasn't been able to read, but figuring out what files those blocks are part of is not trivial).

The good news about is that, thanks to its log file, if it missed something you need (and you haven't modified the target volume at all -- mounting readonly is recommended), you can just run it again and it'll pick up where it left off, and keep hammering on the difficult blocks until they give up their data.

share|improve this answer
    
Thanks for this! I'm running it now, so we'll see if it's going to work tonight. I plan on using DiskWarrior on the resulting image to see if it can rebuild the directory. –  Adam Robinson Dec 7 '11 at 18:29
    
One thing that I'm confused by, though...the docs seem to indicate that you can resume scanning, but I don't see anything in there about it retrying failed blocks/sectors (re: your last paragraph). Any more info on how to do that? Can I just run pass after pass on the same drive and image and it'll update the image with any previously failed blocks that now succeeded? –  Adam Robinson Dec 7 '11 at 18:30
    
Yes, it just updates the image as it recovers blocks (this is why it's important to mount it readonly, otherwise further recovered blocks may no longer match the modified file layout). IIRC running it with -r -1 it'll retry bad blocks forever or until it succeeds. –  Gordon Davisson Dec 8 '11 at 6:07
3  
While this ended up taking WEEKS, I managed to recover the data. Thanks so much! –  Adam Robinson Dec 20 '11 at 2:17
    
Wow! Chalk one up for persistence... I'm glad it worked. –  Gordon Davisson Dec 20 '11 at 3:35

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.