I'am currently trying to recover data from a failing 3TB WD Red drive using ddrescue.
After two weeks I got about one TB, but then read speed doped to a few thousand bytes per second and it would now take years to finish. I noticed that powering off and on the drive increase read speed for a few second to a few hundred/thousand kilobytes per second and then drops again to super slow.
I guess there is some dust on the platter which stuck on the disk head and is removed when the heads slide in the parking position.
ddrecsue is currently running like this:
ddrescue -f -n -b 4096 /dev/sda /dev/sdb /media/usbstick/rescue.log
I want now to skip this area and continue somewhere else, lets says at 1500GB but don't know how to do this. There is the parameter --input-position=bytes
but the docs say:
Starting position of the rescue domain in infile, in bytes. Defaults to 0. This is not the point from which ddrescue starts copying.
There is also --skip-size=[initial][,max]
but it seems to be the size to skip after a bad sector which is not what I want.
Any ideas how to achieve this?
-i, --input-position=<bytes>
is the correct option, might also want to experiment with-a, --min-read-rate=<bytes>
so hopefully it will skip slow areas better – frostschutz Mar 12 '16 at 14:44--output-position
defaults to--input-position
so you'd have to deliberately specify two different values to get a wrong result. – frostschutz Jun 28 '18 at 22:01