Ddrescue - Data recovery tool

 [image of the head of a GNU] [ English | Spanish ]


GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disc, cdrom, etc) to another, trying hard to rescue data in case of read errors.

Ddrescue 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 ddrescue 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 ddrescue, 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 ddrescue 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.

Ddrescue 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 size.


The manual is available in the info system of the GNU Operating System. Use info to access the top level info page. Use info ddrescue to access the ddrescue section directly.


Released versions of GNU ddrescue can be found in the subdirectory /gnu/ddrescue/ on your favorite GNU mirror. For other ways to obtain ddrescue, please read How to get GNU Software. The latest released version will be the latest version available here at http://ftp.gnu.org/gnu/ddrescue/.

Old versions (and sometimes the latest version if upload to http://ftp.gnu.org/ gets delayed for some reason) can be found at http://savannah.gnu.org/download/ddrescue/.

Testing versions of alpha releases can be found on the alpha release server. A different server is used for alpha releases so that people do not confuse testing snapshots and released versions. Alpha test versions are available at ftp://alpha.gnu.org/gnu/ddrescue/.

How to Get Help

For general discussion of bugs in ddrescue the mailing list bug-ddrescue@gnu.org is the most appropriate forum. Please send messages as plain text. Please do not send messages encoded as HTML nor encoded as base64 MIME nor included as multiple formats. Please include a descriptive subject line. If all of the subject are "bug in ddrescue" it is impossible to differentiate them.

An archive of the bug report mailing list is available at http://lists.gnu.org/mailman/listinfo/bug-ddrescue.

How to Help

To contact the maintainers, either to report a bug or to contribute fixes or improvements, send mail to bug-ddrescue@gnu.org. Please send messages as plain text. If posting patches they should be in unified diff format against the latest alpha testing version. They should include a text description and the unified diff inline in the message and not attached to it.

Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on this particular web page to bug-ddrescue@gnu.org, send comments about www.gnu.org web pages in general to webmasters@www.gnu.org, send other questions to gnu@gnu.org.

Copyright © 2004, 2005. 2006 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: $Date: 2006/11/21 08:47:14 $ $Author: ramprasadb $