Ddrescue taking months, what options do I have

data-recoveryddrescue

I'm trying to rescue data from a failing external USB drive from a friend.
The problem with the drive is that it cannot be read, not in windows, not in linux. But I do manage to run ddrescue on the drive and build an image of the drive for later processing.

However, I started the process in January this year, and it has been running non stop, and still running. So over 5 months now. First it was running at about 2000 b/s, now it fell back to 200 b/s. It rescued about 27gb of data (drive is 2TB) and according to friend this is also more or less the amount of data that was stored on the drive. The rescued size is still increasing, but veeeeeeeeeery slowly. Eg in the past 3 weeks it increased by 200mb.

Is there any way to stop the process and just continue with what has been rescued until now, or does ddrescue really has to complete the entire process in order to work with the img file ?

Today ddrescue stopped, because the drive went missing.
Below is a picture of what I have on the screen, with ddrescue log viewer running, not sure if it gives an idea of the situation. I restarted ddrescue and it's running again at the same slow speed as before.
enter image description here

Best Answer

You should probably wait until 100% completion before attempting recovery. According to the log viewer, ddrescue has managed to recover a scattering of blocks from various parts of the disk (the green areas), has found bad sectors in many areas (the red areas), and hasn't even looked at large parts of the disk (the yellow and blue areas).

The viewer shows the first part of the disk as having bad sectors. This means that ddrescue hasn't managed to recover the filesystem header or related metadata. Additionally, most filesystems scatter their data around the disk for performance reasons, so it's unlikely that many of the sectors that have been recovered correlate with the sectors that have data on them.

You might be able to speed up the "recover the easy parts" phase of ddrescue's operation by passing the --no-scrape or --no-trim options to entirely omit trying damaged sectors, or the --reverse option to read the disk back-to-front. You could also try playing around with values for the --skip-size option to see if larger or smaller values than the default (20 MB for your disk) will speed things up.

Related Question