from small one page howto to huge articles all in one place

search text in:

What does your sytem tell when running "ulimit -u"?

poll results

Last additions:
using iotop to find disk usage hogs

using iotop to find disk usage hogs






average rating: 1.7 (85 votes) (1=very good 6=terrible)

May 25th. 2007:




why adblockers are bad

Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

Workaround and fixes for the current Core Dump Handling vulnerability affected kernels






average rating: 1.3 (28 votes) (1=very good 6=terrible)

April, 26th. 2006:

You are here: manpages


Section: User Commands (1)
Updated: March 2016
Index Return to Main Contents


ddrescue - data recovery tool  


ddrescue [,options/] ,infile outfile /[,mapfile/]  


GNU ddrescue - Data recovery tool. Copies data from one file or block device to another, trying to rescue the good parts first in case of read errors.

Always use a mapfile unless you know you won't need it. Without a mapfile, ddrescue can't resume a rescue, only reinitiate it. NOTE: In versions of ddrescue prior to 1.20 the mapfile was called 'logfile'. The format is the same; only the name has changed.

If you reboot, check the device names before restarting ddrescue. Don't use options '-F' or '-G' without reading the manual first.  


-h, --help
display this help and exit
-V, --version
output version information and exit
-a, --min-read-rate=<bytes>
minimum read rate of good areas in bytes/s
-A, --try-again
mark non-trimmed, non-scraped as non-tried
-b, --sector-size=<bytes>
sector size of input device [default 512]
-B, --binary-prefixes
show binary multipliers in numbers [SI]
-c, --cluster-size=<sectors>
sectors to copy at a time [128]
-C, --complete-only
don't read new data beyond mapfile limits
-d, --idirect
use direct disc access for input file
-D, --odirect
use direct disc access for output file
-e, --max-errors=,[/+]<n>
maximum number of [new] error areas allowed
-E, --max-error-rate=<bytes>
maximum allowed rate of read errors per second
-f, --force
overwrite output device or partition
-F, --fill-mode=<types>
fill blocks of given types with data (?*/-+l)
-G, --generate-mode
generate approximate mapfile from partial copy
-H, --test-mode=<file>
set map of good/bad blocks from given mapfile
-i, --input-position=<bytes>
starting position of domain in input file [0]
-I, --verify-input-size
verify input file size with size in mapfile
-J, --verify-on-error
reread latest good sector after every error
-K, --skip-size=,[/<i>][,<max>]
initial size to skip on read error [64 KiB]
-L, --loose-domain
accept an incomplete domain mapfile
-m, --domain-mapfile=<file>
restrict domain to finished blocks in file
-M, --retrim
mark all failed blocks as non-trimmed
-n, --no-scrape
skip the scraping phase
-N, --no-trim
skip the trimming phase
-o, --output-position=<bytes>
starting position in output file [ipos]
-O, --reopen-on-error
reopen input file after every read error
-p, --preallocate
preallocate space on disc for output file
-P, --data-preview[=<lines>]
show some lines of the latest data read [3]
-q, --quiet
suppress all messages
-r, --retry-passes=<n>
exit after <n> retry passes (-1=,infinity/) [0]
-R, --reverse
reverse the direction of all passes
-s, --size=<bytes>
maximum size of input data to be copied
-S, --sparse
use sparse writes for output file
-t, --truncate
truncate output file to zero size
-T, --timeout=<interval>
maximum time since last successful read
-u, --unidirectional
run all passes in the same direction
-v, --verbose
be verbose (a 2nd -v gives more)
-w, --ignore-write-errors
make fill mode ignore write errors
-x, --extend-outfile=<bytes>
extend outfile size to be at least this long
-X, --exit-on-error
exit after the first read error
-y, --synchronous
use synchronous writes for output file
-Z, --max-read-rate=<bytes>
maximum read rate in bytes/s
ask for confirmation before starting the copy
select what copying pass(es) to run
log rates and error sizes in file
log all read operations in file
time to wait between passes [0]

Numbers may be in decimal, hexadecimal or octal, and may be followed by a multiplier: s = sectors, k = 1000, Ki = 1024, M = 10^6, Mi = 2^20, etc... Time intervals have the format 1[.5][smhd] or 1/2[smhd].

Exit status: 0 for a normal exit, 1 for environmental problems (file not found, invalid flags, I/O errors, etc), 2 to indicate a corrupt or invalid input file, 3 for an internal consistency error (eg, bug) which caused ddrescue to panic.  


Report bugs to
Ddrescue home page:
General help using GNU software:  


Copyright © 2016 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.  


The full documentation for ddrescue is maintained as a Texinfo manual. If the info and ddrescue programs are properly installed at your site, the command
info ddrescue

should give you access to the complete manual.




Please read "Why adblockers are bad".

Other free services
Shorten long
URLs to short
links like
Reverse DNS lookup
Find out which hostname(s)
resolve to a
given IP or other hostnames for the server
rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004-2017 Sascha Nitsch Unternehmensberatung UG(haftungsbeschränkt)
Valid XHTML1.1 : Valid CSS : buttonmaker
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 3.2 ms