Hard disk recovery tools
There are, under linux, mostly two tools for that. And they almost have the same UGLY name !@#$#@@#\
Both can be restarted if the computer fails and "fills the hole" in the output file.
This one has a nice output
Bad block: 156907055 dd_rescue: (info): ipos 78453779.0k promote to large bs again! dd_rescue: (info): ipos: 87100115.0k, opos: 87100115.0k, xferd: 8646656.0k errs: 138, errxfer: 69.0k, succxfer: 8646587.0k +curr.rate: 16105kB/s, avg.rate: 12269kB/s, avg.load: 40.0%
And it can go backward. This seems useful to bypass the place with lot of errors. Unfortunately, you still have to do it yourself. I've used this one in this article
This one was tested on Hard Disk Recover and has a nice log feature where everything is stored and optmised to be run in several runs. It can also compares different corrupted copy of the same file and do its best to find the original one.