DDRESCUELOG(1)

πŸ“¦
version 1.30 Β· 6 versions
, in alpine 3.24, arch rolling, epel 10, epel 9, fedora 43, fedora 44, nixpkgs unstable, ubuntu resolute, ubuntu stonking

πŸ’– DDRESCUELOG(1) πŸ’–

okay bestie, so this is a User Commands page β€” it's ddrescuelog, the lil sidekick tool that lives in the ddrescue universe. pull up a chair, we're gonna go through it together 🫢


✨ NAME ✨

ddrescuelog β€” it's the tool for ddrescue mapfiles, periodt πŸ’…


✨ SYNOPSIS ✨

ddrescuelog [options] mapfile

like, that's it. options, then the mapfile. iconic. ✨


🌸 DESCRIPTION 🌸

GNU ddrescuelog is a 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. so basically it's giving mapfile main character energy πŸ’… and if you use the domain setting options, you can restrict ddrescuelog operations to just one part or a few parts of the mapfile. narrow it down, bestie 🎯

Use a hyphen - as mapfile to read the mapfile from standard input (and yes, that goes for the options that take a mapfile argument too) or to write the mapfile created by --create-mapfile to standard output. stdin/stdout pipeline slay 🌈

NOTE: in versions of ddrescue prior to 1.20 the mapfile was called logfile. the format is literally the same, only the name changed. so if you see logfile somewhere in the wild, don't panic, it's the same girl πŸ’€

πŸŽ€ OPTIONS πŸŽ€

  • -h, --help β€” display this help and exit. your lil "what do i do" button πŸ’–
  • -V, --version β€” output version information and exit
  • -a, --change-types=<ot>,<nt> β€” change the block types of mapfile
  • -A, --annotate-mapfile β€” add comments with human-readable pos/sizes
  • -b, --block-size=<bytes> β€” block (sector) size in bytes [default 512]
  • -B, --binary-prefixes β€” show binary multipliers in numbers [SI]
  • -c, --create-mapfile[=<tt>] β€” create mapfile from list of blocks [+-]
  • -C, --complete-mapfile[=<t>] β€” complete mapfile adding blocks of type t [?]
  • -d, --delete-if-done β€” delete the mapfile if rescue is finished. bye bestie πŸ‘‹
  • -D, --done-status β€” return 0 if rescue is finished
  • -f, --force β€” overwrite existing output files
  • -F, --format=<name> β€” format for -c and -l (list, bitmap-[bl]e)
  • -H, --make-test=<C:H:S:to:bh> β€” create mapfile for test mode of ddrescue
  • -i, --input-position=<bytes> β€” starting position of rescue domain [0]
  • -l, --list-blocks=<types> β€” print block numbers of given types (?*/-+)
  • -L, --loose-domain β€” accept unordered domain mapfile with gaps
  • -m, --domain-mapfile=<file> β€” restrict domain to finished blocks in file
  • -n, --invert-mapfile β€” invert block types (finished <--> others)
  • -o, --output-position=<bytes> β€” starting position in output file [ipos]
  • -p, --compare-mapfile=<file> β€” compare block types in domain of both files
  • -P, --compare-as-domain=<file> β€” like -p but compare finished blocks only
  • -q, --quiet β€” suppress all messages 🀫
  • -s, --size=<bytes> β€” maximum size of rescue domain to be processed
  • -t, --show-status β€” show a summary of mapfile contents
  • -v, --verbose β€” be verbose (a 2nd -v gives more)
  • -x, --xor-mapfile=<file> β€” XOR the finished blocks in file with mapfile
  • -y, --and-mapfile=<file> β€” AND the finished blocks in file with mapfile
  • -z, --or-mapfile=<file> β€” OR the finished blocks in file with mapfile
  • --shift β€” shift all block positions by (opos - ipos)

Numbers may be in decimal, hexadecimal, or octal, may contain underscore separators between groups of digits, and may be followed by a SI or binary multiplier and s for 'sectors': 1_234_567kB, 4Kis, 0x1234_5678, 07_777. so many flavours, all valid, we love a flexible number πŸ’œ

The syntax of the argument of option -H is:

<cylinders:heads:sectors1[-sectors2[,tracks_per_zone]]:track_order:bad_head>

πŸ”₯ EXIT STATUS πŸ”₯

  • 0 β€” for a normal exit, we ate πŸ’…
  • 1 β€” for environmental problems (file not found, invalid command-line options, I/O errors, etc)
  • 2 β€” to indicate a corrupt or invalid input file 😭
  • 3 β€” for an internal consistency error (e.g., bug) which caused ddrescuelog to panic. not the vibe πŸ’€

πŸ¦‹ REPORTING BUGS πŸ¦‹

Report bugs to bug-ddrescue@gnu.org β€” tell them everything, bestie, they wanna know 🫢

Ddrescue home page: http://www.gnu.org/software/ddrescue/ddrescue.html

General help using GNU software: http://www.gnu.org/gethelp


Copyright Β© 2026 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.

so yes, share it, remix it, redistribute it β€” but no warranty, ngl, that's the deal 🀝

🌈 SEE ALSO 🌈

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

info ddrescue

should give you access to the complete manual. go read it, it's giving encyclopedia but make it rescue-tool ⭐


okay that's the whole page, you're officially a ddrescuelog girlie now πŸŽ€ this was GNU ddrescuelog 1.30, dated January 2026 β€” mwah, take care of your mapfiles πŸ’–βœ¨