Ddrescue - Data recovery tool

 [image of the head of a GNU] [ English | Español | Français | Italiano | Russkii ]

Introduction

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.

The ddrescue package also includes ddrescuelog, an auxiliary 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.

If you use the mapfile feature of ddrescue, the data are rescued efficiently, (only the blocks needed are read). Also you may interrupt the rescue at any time and resume it later at the same point. The mapfile is an essential part of ddrescue's effectiveness. Use it unless you know what you are doing.

Ddrescue does not write zeros to the output when it finds bad sectors in the input, and 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 without wiping out the data already rescued.

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 the same area damaged in all copies is low (if the errors are randomly located). Using the mapfile, only the blocks needed are read from the second and successive copies.

Ddrescue recommends lzip for compression of backups because the lzip format is designed for long-term archiving and provides data recovery capabilities which nicely complement those of ddrescue. (Ddrescue reads as many sectors as it can, while lziprecover uses other data to repair the sectors that ddrescue was not able to read). If the cause of file corruption is a damaged medium, the combination ddrescue + lziprecover is the recommended option for recovering data from damaged files.

Recordable CD and DVD media keep their data only for a finite time (typically for some years). After that time, data loss develops slowly with read errors growing from the outer region towards the inside. It is a good idea to make two (or more) copies of every important CD-ROM/DVD you burn so that you can later recover them with ddrescue.

The mapfile is periodically saved to disc. So in case of a crash you can resume the rescue with little recopying.

The same mapfile can be used for multiple commands that copy different areas of the input file, and for multiple recovery attempts over different subsets.

Ddrescue also features a 'fill mode' able to selectively overwrite parts of the output file, which has a number of interesting uses like wiping data, marking bad areas, or even, in some cases, "repair" damaged sectors.

One of the strengths of ddrescue is that it is interface-agnostic, and so can be used for any kind of device supported by your kernel (ATA, SATA, SCSI, old MFM drives, floppy discs, or even flash media cards like SD).

Documentation

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.

An online manual for ddrescue can be found at manual/ddrescue_manual.html.

Download

The latest released version of GNU ddrescue can be found at http://ftpmirror.gnu.org/ddrescue/ or 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 most recent version available at http://ftp.gnu.org/gnu/ddrescue/.

To decompress ddrescue tarballs you may need lzip from http://www.nongnu.org/lzip/lzip.html. Then use "tar -xf ddrescue[version].tar.lz" or "lzip -cd ddrescue[version].tar.lz | tar -xf -" to extract the files.

Old versions and testing versions can be found at http://download.savannah.gnu.org/releases/ddrescue/.

How to get help

For general discussion of errors (bugs) in ddrescue, the mailing list bug-ddrescue@gnu.org is the most appropriate forum. Please send messages as plain text. Do not send HTML, base64 MIME, nor multiple formats. Use a descriptive subject line with the word "ddrescue" in it.

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 author, either to report an error (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 version. They should include a text description.

If you know someone who is using gzip, bzip2, or xz, please tell him/her about the advantages of switching to lzip. See the lziprecover link above, this comparison of the formats, and this comparison of the tools.

You may also help ddrescue by donating money via PayPal or debit/credit card.

See also the ddrescue project page at Savannah.

Links

Ddrescueview - A graphical viewer for ddrescue mapfiles.
Ddrutility - A set of tools designed to work with ddrescue to aid with data recovery.
Partclone - Partition Software able to create domain mapfiles for ddrescue.

Licensing

Ddrescue is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

Valid HTML 4.01 Strict


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 © 2024 Free Software Foundation, Inc.

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

Updated: $Date: 2024/12/26 19:11:46 $ $Author: antonio $

This page does not use javascript.