DDRESCUELOG(1)

NAME
ddrescuelog - tool for ddrescue mapfiles

SYNOPSIS
ddrescuelog [options] mapfile

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. Ddrescuelog operations can be restricted to one or several parts of the mapfile if the domain setting options are used.

Use a hyphen '-' as mapfile to read the mapfile from standard input (also in the options taking a mapfile argument) or to write the mapfile created by '--create-mapfile' to standard output.

NOTE: In versions of ddrescue prior to 1.20 the mapfile was called 'logfile'. The format is the same; only the name has changed.

OPTIONS

-h, --help
    display this help and exit

-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

-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. 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, 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.

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 © 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.

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.