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!