how to resume ddrescue process?
Solution 1:
ddrescue can be resumed, but it requires a log file to be able to do so. The log file will record the progress that ddrescue has made so far, and restarting ddrescue will read the log file and start where it left off.
The log file would be the third parameter:
ddrescue /dev/sdd1 ./bye1t.dd_rescue.image ~/sdd1.log
If you have already started a ddrescue run without a log file and cancel it, the next time ddrescue runs, it will start at the beginning since it has no record of what has already been recovered.
Note: ddrescue and dd_rescue are different programs.
Solution 2:
Even if you forgot to specify a logfile, there may be hope:
Generate-mode
So you didn't read the tutorial and started ddrescue without a logfile. Now, two days later, your computer crashed and you can't know how much data ddrescue managed to save. And even worse, you can't resume the rescue; you have to restart it from the very beginning.
Or maybe you started copying a drive with dd conv=noerror,sync
and are now in the same situation described above. In this case, note that you can't use a copy made by dd unless it was invoked with the sync
conversion argument.
Don't despair (yet). Ddrescue can in some cases generate an approximate logfile, from the input file and the (partial) copy, that is almost as good as an exact logfile. It makes this by simply assuming that sectors containng all zeros were not rescued.
However, if the destination of the copy was a drive or a partition, (or an existing regular file and truncation was not requested), most probably you will need to restart ddrescue from the very beginning. (This time with a logfile, of course). The reason is that old data may be present in the drive that have not been overwritten yet, and may be thus non-tried but non-zero.
For example, if you first tried one of these commands:
ddrescue infile outfile
or
dd if=infile of=outfile conv=noerror,sync
you can generate an approximate logfile with this command:
ddrescue --generate-mode infile outfile logfile