[Top][All Lists]
[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.
- [Bug-ddrescue] Mac OS X Tips,
jesmith <=