Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DDRESCUE(1)			 User Commands			   DDRESCUE(1)

NAME
       ddrescue	- data recovery	tool

SYNOPSIS
       ddrescue	[options] infile outfile [mapfile]

DESCRIPTION
       GNU  ddrescue  is a data	recovery tool. It copies data from one file or
       block device (hard disc,	cdrom, etc) 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 map-
       file, ddrescue can't resume a rescue, only reinitiate it. Be careful to
       not specify by mistake an old mapfile from an unrelated rescue.

       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.

OPTIONS
       -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-bad-areas=[+]<n>
	      maximum number of	[new] bad 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,maximum size to skip on read error

       -L, --loose-domain
	      accept unordered domain mapfile with gaps

       -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

       -W, --compare-before-write
	      omit superfluous writes in rescue	mode

       -x, --extend-outfile=<bytes>
	      extend outfile size to be	at least this long

       -X, --max-read-errors=<n>
	      maximum number of	read errors allowed

       -y, --synchronous
	      use synchronous writes for output	file

       -Z, --max-read-rate=<bytes>
	      maximum read rate	in bytes/s

       --ask  ask for confirmation before starting the copy

       --command-mode
	      execute commands from standard input

       --cpass=<range>
	      select what copying pass(es) to run

       --delay-slow=<interval>
	      initial delay before checking slow reads [30]

       --log-events=<file>
	      log significant events in	<file>

       --log-rates=<file>
	      log rates	and error sizes	in <file>

       --log-reads=<file>
	      log all read operations in <file>

       --mapfile-interval=[i][,i]
	      save/sync	mapfile	at given interval [auto]

       --max-slow-reads=<n>
	      maximum number of	slow reads allowed

       --pause-on-error=<interval>
	      time to wait after each read error [0]

       --pause-on-pass=<interval>
	      time to wait between passes [0]

       --reset-slow
	      reset slow reads if rate rises above min

       --same-file
	      allow infile and outfile to be the same file

       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 command line options,	I/O errors, etc), 2  to	 indi-
       cate a corrupt or invalid input file, 3 for an internal consistency er-
       ror (e.g., bug) which caused ddrescue to	panic.

REPORTING BUGS
       Report bugs to bug-ddrescue@gnu.org
       Ddrescue	home page: http://www.gnu.org/software/ddrescue/ddrescue.html
       General help using GNU software:	http://www.gnu.org/gethelp

COPYRIGHT
       Copyright  (C) 2023 Antonio Diaz	Diaz.  License GPLv2+: GNU GPL version
       2 or later <http://gnu.org/licenses/gpl.html>
       This is free software: you are free  to	change	and  redistribute  it.
       There is	NO WARRANTY, to	the extent permitted by	law.

SEE ALSO
       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.

GNU ddrescue 1.27		 January 2023			   DDRESCUE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ddrescue&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help