GNU ddrescue is a data recovery tool for disk drives, DVDs, CDs, 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.

ddrescue
Original author(s)Antonio Diaz Diaz
Initial release12 August 2004; 20 years ago (2004-08-12)
Stable release
1.28[1] Edit this on Wikidata / 23 January 2024
Repository
Written inC++
Operating systemUnix-like
TypeData recovery
License2014: GPL-2.0-or-later[a]
2007: GPL-3.0-or-later[b]
2004: GPL-2.0-or-later[c]
Websitewww.gnu.org/software/ddrescue/

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.

Description

edit

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.[2] It is considered to have the most sophisticated implementation of a block-size-changing algorithm in free and open source software,[3][4] and is considered an essential data recovery tool.[5][6]

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

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

See also

edit

Notes

edit
  1. ^ GPL-2.0-or-later since version 1.19 (2014-10-03).
  2. ^ GPL-3.0-or-later from version 1.5 (2007-06-29) until version 1.18.1 (2014-06-10).
  3. ^ GPL-2.0-or-later from version 0.1 (2004-08-12) until version 1.4 (2007-06-18).

References

edit
  1. ^ Antonio Diaz Diaz (25 January 2024). "GNU ddrescue 1.28 released". Retrieved 25 January 2024.
  2. ^ "GNU ddrescue Manual". The GNU project. Retrieved 6 September 2013.
  3. ^ "Disk drive recovery: ddrescue, dd_rescue, dd_rhelp". John Gilmore. Archived from the original on 30 May 2013. Retrieved 6 September 2013.
  4. ^ "Damaged Hard Disk". www.cgsecurity.org. Archived from the original on 14 November 2023. Retrieved 6 September 2013.
  5. ^ "Best Data Recovery Tools - Top 10 List". Geekyprojects. Retrieved 6 September 2013.
  6. ^ "12 essential system recovery tools". PC Plus (Issue 303). 22 January 2011. Retrieved 6 September 2013.
  7. ^ "ddrescue - Data recovery tool". The GNU project. Retrieved 6 September 2013.
  8. ^ Kurt Garloff's dd_rescue
edit