GNU ddrescue 1.30 released

4 min read Original article ↗

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
From: Antonio Diaz Diaz
Subject: GNU ddrescue 1.30 released
Date: Sun, 04 Jan 2026 16:56:51 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i586; en-US; rv:1.9.1.19) Gecko/20110420 SeaMonkey/2.0.14

I am pleased to announce the release of GNU ddrescue 1.30.

GNU ddrescue is a data recovery tool. It copies data from one file or block device to another, trying to rescue the good parts first in case of read errors. Ddrescue recommends lziprecover[1], whose data recovery capabilities complement those of ddrescue.
The ddrescue package also includes ddrescuelog, an auxiliary tool that 
manipulates ddrescue mapfiles, shows mapfile contents, converts mapfiles 
to/from other formats, compares mapfiles, tests rescue status, and can 
delete a mapfile if the rescue is done.
The homepage is at http://www.gnu.org/software/ddrescue/ddrescue.html

The sources can be downloaded from http://ftpmirror.gnu.org/ddrescue/ http://download.savannah.gnu.org/releases/ddrescue/ or from your favorite GNU mirror.
The sha256sum is:
2264622d309d6c87a1cfc19148292b8859a688e9bc02d4702f5cd4f288745542 ddrescue-1.30.tar.lz
This release is also GPG signed. You can download the signature by appending 
'.sig' to the URL. If the 'gpg --verify' command fails because you don't 
have the required public key, then run one of these commands to import it:
  gpg --recv-keys 8FE99503132D7742
  wget http://ftpmirror.gnu.org/gnu-keyring.gpg

Key fingerprint = 1D41 C14B 272A 2219 A739  FA4F 8FE9 9503 132D 7742


Changes in version 1.30:

* The changes in this version improve by orders of magnitude the automatic recovery of a drive with a dead head. For example, all the recoverable data in a 1 TB drive with one ot its 4 heads dead can now be recovered after just 283 read errors instead of the 3_782_794 read errors needed by ddrescue 1.29. (ddrescue 1.29 with the options '--cpass=1,2 --skip-size=32MiB' can recover the data after 880 read errors, but the point is that an unexperienced user can now achieve results that only an expert could achieve with the previous version of ddrescue).
  * The pass 5 of the copying phase has been replaced by a new sweeping 
phase run after the trimming phase.
  * The new option '-N, --no-sweep', which disables the reading of skipped 
areas, has been added. The short name '-N' has been reassigned from option 
'--no-trim' to option '--no-sweep'. Option '--no-trim' is no longer 
recommended because trimming has now a higher probability of finding good data.
  * Pass 2 now copies only the blocks adjacent to at least one finished 
block. The trimming pass now trims only the edges adjacent to a finished 
block. The goal is to delimit the bad area as a whole.
  * The initial skip size now defaults to 'infile_size / 32_768' instead of 
'infile_size / 100_000'.
  * '--retrim' now only marks blocks adjacent to a non-tried or finished block.

  * '--extend-outfile=0' now extends outfile to the size of infile.

* In rescue mode, '--size=output' now uses the size of the output file or device, for example to overwrite it:
'ddrescue --force --size=output /dev/urandom /dev/mydisk'.
(Suggested by Stefan Monnier).

* The remaining time is now estimated by using the average rate of the last 60 seconds instead of the last 30 seconds. (Suggested by Stefan Monnier).
  * A line showing 'average rate' and 'read errors' has been added to the 
file generated by the event logger.
  * Large numbers in option arguments are now accepted with underscore 
separators (-s 123_456_789).
  * The option '-H, --make-test', which creates a mapfile for the test mode 
of ddrescue based on the disc geometry given, has been added to ddrescuelog. 
This option has helped in the development of some of the improvements in 
this version of ddrescue, and is a work in progress. The geometries 
implemented so far are some of those described in the following article:
H. Wong, "Discovering Hard Disk Physical Geometry through 
Microbenchmarking", Sept., 2019. Available online at
<http://blog.stuffedcow.net/2019/09/hard-disk-geometry-microbenchmarking/>

* An example of recovery of a tar.lz backup using a lziprecover-generated fec recovery record appended to the backup itself has been added to the manual. (Lziprecover's Forward Error Correction (FEC) algorithm can repair any kind of file, but its ability to repair lzip files is greater than for other kinds of files. Lziprecover can use the statistical properties of lzip data to repair a lzip file rescued with ddrescue, even if the fec file is so damaged that it has lost both CRC arrays).
(It would be good that lzip were more widely used inside GNU, given its 
advantages over gzip for the compression of source tarballs and backups).

Please send bug reports and suggestions to bug-ddrescue@gnu.org

[1] http://www.nongnu.org/lzip/manual/lziprecover_manual.html#Fec-files

Regards,
Antonio Diaz, GNU ddrescue author and maintainer.
http://www.nongnu.org/lzip/lzip_benchmark.html





[Prev in Thread] Current Thread [Next in Thread]