From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Ddrescue 2.png
Original author(s)Antonio Diaz Diaz
Initial release12 August 2004; 15 years ago (2004-08-12)
Stable release
1.25 / 21 February 2020; 5 months ago (2020-02-21)
Written inC++
Operating systemUnix-like
TypeData recovery

GNU ddrescue is a data recovery tool. It copies data from one file or block device (hard disk, CD-ROM, etc.) to another, trying hard to rescue data in case of read errors. GNU ddrescue is a program written in C++ that was initially released in 2004 and has since become available in most Linux distributions.


GNU ddrescue is not a derivative of dd, nor is it related to dd in any way except in that both can be used for copying data from one device to another. The difference is that ddrescue uses a sophisticated algorithm to copy data from failing drives causing them as little additional damage as possible.[1] GNU ddrescue is considered to have the most sophisticated implementation of a block-size-changing algorithm in free and open source software,[2][3] and is considered an essential data recovery tool.[4][5]

If one uses the "mapfile" (previously called "logfile") feature of ddrescue, the data is rescued very efficiently (only the needed blocks are read). One can also 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. As such, every time one runs ddrescue on the same output file, it tries to fill in the gaps without wiping out the data already rescued.

Other uses[edit]

Automatic merging of backups: If one has two or more damaged copies of a file, CD-ROM, etc., and run ddrescue on all of them, one at a time, with the same output file, one will probably obtain a complete and error-free file. Using the mapfile, 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.

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.[6]

See also[edit]


  1. ^ "GNU ddrescue Manual". The GNU project. Retrieved 6 September 2013.
  2. ^ "Disk drive recovery: ddrescue, dd_rescue, dd_rhelp". John Gilmore. Archived from the original on 30 May 2013. Retrieved 6 September 2013.
  3. ^ "Damaged Hard Disk". www.cgsecurity.org. Retrieved 6 September 2013.
  4. ^ "Best Data Recovery Tools - Top 10 List". Geekyprojects. Retrieved 6 September 2013.
  5. ^ "12 essential system recovery tools". PC Plus (Issue 303). 22 January 2011. Retrieved 6 September 2013.
  6. ^ "ddrescue - Data recovery tool". The GNU project. Retrieved 6 September 2013.

External links[edit]