I use Ubuntu (64bits edition, version 10.10 or higher) to access hard disks with problems. It works most of the time (27 of 32 cases to date).
Once the information has been recovered (copy data from damaged disk to healthy one), I proceed to format the disk and create enough partitions. Usually, is possible depending on damage, isolate the partition that generates the majority of errors, like "System Error 11 on Windows" and disable this partition.
In my experience, a work of this type takes 3 to 8 hours and keeps damaged discs in operation for a while (although is not recommended).
Hopefully I can recover most of the data (18.3 TB of 22.4 TB to date) using this method, but I want to improve it.
Any advice are welcome.