bug-ddrescue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-ddrescue] Mac OS X Tips


From: jesmith
Subject: [Bug-ddrescue] Mac OS X Tips
Date: Sat, 26 Jan 2008 07:30:21 -0800 (PST)

Thanks for the great program.  I've been using it to rescue a failing disk in
my MacBook Pro, and I've learned a few things I thought I should pass
along...

1) Get version 1.7!  I started the lazy way by just getting the darwin
ports, but after some troubles, and after finding this list, I figured out
that the version I was using was 1.2!  Turns out that getting the darwin
ports is completely unnecessary, just download 1.7 from the FTP site, tar
xjvf it, ./configure, and make.  In my case, since I am doing the rescue
with my wife's home computer, I had to go download XCode tools from apple
ADC, to get a compiler, etc.

2) Turn off journaling!  My MacBook Pro (hereafter MBP) still boots, but I
was getting periodic I/O errors (with a 3 minute, 45 second dramatic pause
each time).  So I shut down, started the MBP in Firewire Transfer mode (hold
down the "T" key while booting), and firewire-connected it to my wife's
iMac.  The disk showed up just fine, but I couldn't Eject it, so I couldn't
get to the /dev/disk version of the device.  I finally figured out that the
iMac was trying to "replay the journal", but it couldn't because of the I/O
errors.  Here's the fix sequence that worked for me:

A) Shut down the MBP, disconnect the Firewire cable
B) Boot the MBP, quit all applications, open Terminal
C) sudo diskutil disableJournal /
D) Wait a very long time for that to complete
E) Shut down the MBP
F) Connect the firewire cable, Boot the MBP with the T key down
G) Wait for "Macintosh HD" to show up on the iMac
H) Open a terminal on the iMac and diskutil info /Volumes/Macintosh\ HD\ 1
I) diskutil unmount /Volumes/Macintosh\ HD\1   (or just Apple-E it on the
Finder desktop)

Step H is a simple way to find out the device mount point you'll need for
ddrescue.

It would be even better if there was a way to turn off the automounting of
firewire drives, but I haven't been able to find any (killing the automount
process didn't do it, so I think this might be a Finder thing).

3) Errors can be about the software/firmware, not just the sectors.  I've
learned that in my case, each time I hit an error (reported in the
system.log console as I/O error, with a 3 minute 45 second pause) all
subsequent reads will report errors.  My theory is that the initial error is
caused by a bad sector, but the subsequent ones are not sector errors at
all, but rather the drive being persnickety.  Therefore, my procedure is:

A) ddrescue -v -n -i 0G /dev/disk3s2 myimage.dmg myimage.log
B) Turn on Activity Monitor, right click the Dock Icon, choose Dock Icon >
Disk Activity
C) When that flat-lines (confirmed by an I/O error in Console watching
system.log), Ctrl-C ddrescue
D) Be patient.  It will take about 4 minutes for ddrescue to exit
E) Power off MBP, repeat steps F-I above
Start over at step A, but change 0G to 10G or 50G or 100G or whatever, to
jump way past the bad sectors.

I haven't finished this procedure for the whole drive yet, but my plan is
that once I get the majority of the drive rescued, I can go back and fill in
the gaps.

One caution: When you jump way ahead, there is going to be a long, dramatic
pause as ddrescue fills the .dmg file with zeros.  The dock icon will show
no green line, and a high red line.  This will eventually pass, and you'll
get back to the flat green (read) line with a pulsing red (write) line.

That's all I have to share so far, but I'll follow up as I make more
headway!

-Joshua
-- 
View this message in context: 
http://www.nabble.com/Mac-OS-X-Tips-tp15109010p15109010.html
Sent from the Gnu - ddrescue mailing list archive at Nabble.com.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]