Before imaging the corrupted filesystem to a file on another hard drive, I decided to dry-run ddrescue (throwing rescued output to /dev/null) just to see how much data is unreadable:
# ddrescue -d -b 4096 -r 3 -f /dev/sda1 /dev/null sda1.log
In the end it took 3 days to finish. Now I'm ready to make a real image, but I don't want to wait another 3 days until it finishes. But, luckily because I have a logfile, is it possible to force ddrescue to rescue only the good sectors and do not touch bad ones?
Having read some documentation, I've came up with the following idea:
# ddrescue -d -b 4096 --fill=+ /dev/sda1 /mnt/sda1.img sda1.log
Will this work? Is there another (preferred) way of rereading only good sectors?
-r 3.-nmay also save time, although I guess it won't try to get as much data as possible. – njsg Jan 10 at 12:09--fill=+option ("fill mode") – evaldaz Jan 10 at 12:17