GNU ddrescue imaging of failing hard drive is extremely slow

Step 1) Make sure the drive can be seen on the bus:

sudo lshw -businfo

Step 2) Get yourself hddsupertool here.

Run as root, select the device, and select the VSC entry.

Step 3) Select this entry:

4) WD royl (Marvel) patch mod 02 (slow fix)

Step 4) You want to first

1) Read the module to a file and create the patch.

followed by

2) Write the patched data back to the disk.

Step 5) Go back to VSC entry, select:

5) WD royl (Marvel) patch mod 32 (slow fix)

and perform entries 1 & 2 again (reading mod, patching, and writing back)

Note: It may tell you it's failed on the final step. It still worked for me.

Step 6) Power cycle the drive

What you've just done: You've cleared the SMART status, and the file relocation list. The re-lo list contains info about which sectors need to be relocated, which in WD's case happens quite often on a failed read.

Credit: Spildit (Manual Method of doing this) & Scott Dwyer (Author of hddsupertool)

I went from 130KB/s scan i/o speed in testdisk to 11-13MB/s after the fix, and I was able to recover data at +100MB/s from as far back as the very first time I used the drive. This was after a week of researching a ton of dead ends.

Good Luck!