Taking forever for ddrescue (or dd_rescue) to run? Well, why not focus on the good parts of the hard drive first and then worry about the bad sectors afterwards?
More information can be found here:
dd_rhelp is a bash script that handles a very usefull program written
in C by Kurt Garloff which is called dd_rescue, it roughly act as the
dd linux command with the characteristic to NOT stop when it falls on
read/write errors.This makes dd_rescue the best tool for recovering hard drive having
bad sectors.
Here is a working example of the program