I used my Mint Linux Terminal to get info on the "ddrescue" aka "gddrescue" program.
mint16@mint16 ~ $ aptitude show gddrescue
State: not installed
Maintainer: Ubuntu Developers <email@example.com>
Uncompressed Size: 217 k
Depends: libc6 (>= 2.7), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1)
Description: GNU data recovery tool
The gddrescue tool copies data from one file or block device (hard disc, cdrom, etc) to another,
trying hard to rescue data in case of read errors.
gddrescue does not truncate the output file if not asked to. So, every time you run it on the same
output file, it tries to fill in the gaps.
The basic operation of gddrescue is fully automatic. That is, you don't have to wait for an error,
stop the program, read the log, run it in reverse mode, etc. If you use the logfile feature of
gddrescue, the data is rescued very efficiently (only the needed blocks are read). Also you can
interrupt the rescue at any time and resume it later at the same point.
Automatic merging of backups: If you have two or more damaged copies of a file, cdrom, etc, and run
gddrescue on all of them, one at a time, with the same output file, you will probably obtain a
complete and error-free file. This is so because the probability of having damaged areas at the
same places on different input files is very low. Using the logfile, only the needed blocks are
read from the second and successive copies.
The logfile is periodically saved to disc. So in case of a crash you can resume the rescue with
little recopying. Also, the same logfile can be used for multiple commands that copy different
areas of the file, and for multiple recovery attempts over different subsets.
gddrescue aligns its I/O buffer to the sector size so that it can be used to read from raw devices.
For efficiency reasons, also aligns it to the memory page size if page size is a multiple of sector
Please note that this is the GNU ddrescue version providing the ddrescue executable. The package is
named gddrescue because the ddrescue version of Kurt Garloff used to have the ddrescue package name