Ddrescue - Data recovery tool

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.

Ddrescuelog is a tool that manipulates ddrescue logfiles, shows logfile
contents, converts logfiles to/from other formats, compares logfiles,
tests rescue status, and can delete a logfile if the rescue is done.
Ddrescuelog operations can be restricted to one or several parts of the
logfile 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, read the log, restart it
from a new position, 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.

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. Using the logfile, only the needed blocks are read
from the second and successive copies.

Ddrescue recommends lzip
for compression of backups because the lzip format is designed for
long-term data archiving and provides data recovery capabilities which
nicely complement those of ddrescue. (Ddrescue fills unreadable sectors
with data from other copies, while lziprecover corrects corrupt sectors
with data from other copies). If the cause of file corruption is damaged
media, the combination ddrescue +
lziprecover
is the best option for recovering data from multiple damaged copies.

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

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 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 great 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.

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.

How to Help

To contact the author, 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 version. They should include a
text description.

Links

Ddrescueview -
A graphical viewer for GNU ddrescue log files.Ddrutility -
A set of tools designed to work with ddrescue to aid with data recovery.

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.