The dd
command is commonly used to make image backups of a drive or partition. However, it performs poorly if the source drive is unreliable or failing. I read that ddrescue
/dd_rescue
is a good tool to use to recover an image from a bad drive, since it intelligently attempts to re-read sectors that it failed to read the first time.
But in the Ubuntu repositories, I see two different ddrescue
programs, with 3 different but similar names showing up in different places: ddrescue
, gddrescue
, dd_rescue
. What's the difference?
Best Answer
ddrescue
, confusingly, can refer to two completely separate programs,dd_rescue
by Kurt Garloff, and GNU ddrescue. Both have the same purpose and are actively developed.Garloff's program
dd_rescue
is the first attempt to improve ondd
; GNU ddrescue is newer and was created to address shortcomings indd_rescue
.Several sources prefer GNU ddrescue over
dd_rescue
. For example,http://lwn.net/Articles/430000/
http://www.toad.com/gnu/sysadmin/index.html#ddrescue
One advantage of GNU ddrescue is that it backs up most data faster, by first skipping bad blocks (hich are slow to recover) and coming back to them only after good blocks have been backed up. One disadvantage of GNU ddrescue is that it doesn't support piped output, which means you can't compress the output image with
gzip
orlzop
.Ubuntu packages
Unfortunately, the package names in the Ubuntu repositories are confusing;
dd_rescue
is packaged under the nameddrescue
, andddrescue
undergddrescue
! From the package summaries:gddrescue
package:ddrescue
package:Summary of names: