ddrescue: reread only good sectors?
Thoroughly reread ddrescue
manual and found out the following option:
-m file
--domain-logfile=file
Restrict the rescue domain to the blocks marked as finished in the logfile file. This is useful if the destination drive fails during the rescue.
So the invocation of ddrescue
would look something like this:
# ddrescue -d -b 4096 -m sda1.log /dev/sda1 /mnt/sda1.img logfile2.log
Quick edit 2018:
I use ddrescue
sometimes, from some years ago, for rescuing hard-drive.
Something quicker than dd
on hdd with really broken surfaces.
But dd
is really safe and my first post stay true.
Original post
This is a very bad idea!
I'm talking about Before imaging the corrupted filesystem to a file on another hard drive...
As when a disk drive come to be corrupted, corruption are generally growing each time you try to access your drive.
So the good way to rescue a broken drive is to make an image by copying whole disk from begin to end in one uninterrupted operation!. After that: unplug the disk drive and store them quietly. As: less you touch the broken drive, more chance you have to restore something.
As each time mechanical access to broken material could make some more damages, the log you're become from your last operation is not a reference for knowing wich block are damaged now.
I personally, don't use ddrescue
. I use dd
from a while and this tool make all I need:
dd bs=512 if=/dev/sdX of=/backuprepo/sdXBroken.img conv=noerror,sync
And, I let it work patiently.