ddrescue and ddrecue-GUI for data recovery or to retrieve corrupted data.
ddrescue:
GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying to rescue the good parts first in case of read errors. Ddrescuelog is a tool that manipulates ddrescue mapfiles, shows mapfile contents, converts mapfiles to/from other formats, compares mapfiles, tests rescue status, and can delete a mapfile if the rescue is done. Ddrescuelog operations can be restricted to one or several parts of the mapfile if the domain setting options are used. The basic operation of ddrescue is fully automatic. That is, you don’t have to wait for an error, stop the program, restart it from a new position, etc.
Install into Ubuntu / Debian:
sudo apt-get install gddrescue
More info and Download:
https://www.gnu.org/software/ddrescue/
ddrescue-GUI:
DDRescue-GUI is a program designed to make it easier to use GNU ddrescue (A Command-Line data recovery tool). It provides a simple graphical method for using ddrescue. This is designed to be as user-friendly as possible so users new to Linux can use ddrescue easily.
DDRescue-GUI is a simple GUI written in Python 2 designed to make the data recovery tool, ddrescue, easier for beginners to use. It’s designed for Linux, and more recently Apple OS X, as KDiskRescue appears to be abandoned, with the last update in 2006. DDRescue-GUI is desgined to look native on almost all Desktop Environments, so whichever one you use, it should look familiar.
More info, download and install:
https://launchpad.net/ddrescue-gui