From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Ddrescue 2.png
Original author(s)Antonio Diaz Diaz
Initial release12 August 2004; 17 years ago (2004-08-12)
Stable release
1.25 / 2 March 2020; 18 months ago (2020-03-02)
Written inC++
Operating systemUnix-like
TypeData recovery

GNU ddrescue is a data recovery tool for disk drives, CD-ROMs, and other digital storage media. It copies raw blocks of storage, such as disk sectors, from one device or file to another, while handling read errors in an intelligent manner to minimize data loss by scraping good sectors from partially read blocks.

GNU ddrescue is written in the C++ programming language, and is available as open-source software that was originally released in 2004. It is also available in binary form as a component in most Linux distributions.


ddrescue uses a sophisticated algorithm to copy data from disk drives, and other storage devices, causing as little additional damage, if they are failing, as possible.[1] It 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]

The status of the copy process is recorded in a map file (previously called logfile) that aids in the progress of multiple stages of the recovery algorithm, and facilitates interrupting the recovery, and repeating it as needed to recover more data. The program does not write zeros to the output in place of bad blocks, so that additional errors not encountered previously do not destroy previously recovered blocks. This makes it possible to merge multiple defective copies of CD-ROMs or DVDs into one backup file. By virtue of the map file, only the needed blocks are read from the second and successive copies.

ddrescue also features a fill mode, able to selectively overwrite parts of the output file, which has uses such as wiping data, marking bad areas or even, in some cases, repair damaged sectors.[6]

Unrelated recovery tools[edit]

GNU ddrescue is not a derivative of dd which also copies blocks of storage from disk storage, but does not operate in a strategic, algorithmic manner.

GNU ddrescue is also distinct from the similarly named program dd_rescue.[7]

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.
  7. ^ Kurt Garloff's dd_rescue

External links[edit]