{
    "mode": "man",
    "parameter": "cryptsetup-tcryptDump",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/cryptsetup-tcryptDump/8/json",
    "generated": "2026-10-05T21:42:20Z",
    "synopsis": "cryptsetup tcryptDump [<options>] <device>",
    "sections": {
        "NAME": {
            "content": "cryptsetup-tcryptDump - dump the header information of a TCRYPT (TrueCrypt or VeraCrypt\ncompatible) device\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "cryptsetup tcryptDump [<options>] <device>\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "Dump the header information of a TCRYPT (TrueCrypt or VeraCrypt compatible) device.\n\nIf the --dump-volume-key option is used, the TCRYPT device volume key is dumped instead of\nTCRYPT header info. Beware that the volume key (or concatenated volume keys if cipher chain\nis used) can be used to decrypt the data stored in the TCRYPT container without a passphrase.\nThis means that if the volume key is compromised, the whole device has to be erased to\nprevent further access. Use this option carefully.\n\n<options> can be [--dump-volume-key, --key-file, --tcrypt-hidden, --tcrypt-system,\n--tcrypt-backup, --veracrypt (ignored), --disable-veracrypt, --veracrypt-pim,\n--veracrypt-query-pim, --cipher, --hash, --header, --verify-passphrase, --timeout].\n\nThe keyfile parameter allows a combination of file content with the passphrase and can be\nrepeated.\n",
            "subsections": []
        },
        "OPTIONS": {
            "content": "--hash, -h <hash-spec>\nSpecifies the passphrase hash. Applies to plain and loopaes device types only.\n\nFor tcrypt device type, it restricts checked PBKDF2 variants when looking for header.\n\n--cipher, -c <cipher-spec>\nSet the cipher specification string for plain device type.\n\nFor tcrypt device type it restricts checked cipher chains when looking for header.\n",
            "subsections": [
                {
                    "name": "--verify-passphrase, -y",
                    "content": "When interactively asking for a passphrase, ask for it twice and complain if both inputs\ndo not match. Ignored on input from file or stdin.\n\n--key-file, -d name\nRead the passphrase from file.\n\nIf the name given is \"-\", then the passphrase will be read from stdin. In this case,\nreading will not stop at newline characters.\n\nSee section NOTES ON PASSPHRASE PROCESSING in cryptsetup(8) for more information.\n",
                    "flag": "-y",
                    "long": "--verify-passphrase"
                },
                {
                    "name": "--dump-volume-key, --dump-master-key (OBSOLETE alias)",
                    "content": "Print the volume key in the displayed information. Use with care, as the volume key can\nbe used to bypass the passphrases, see also option --volume-key-file.\n",
                    "long": "--dump-master-key"
                },
                {
                    "name": "--timeout, -t <number of seconds>",
                    "content": "The number of seconds to wait before timeout on passphrase input via terminal. It is\nrelevant every time a passphrase is asked. It has no effect if used in conjunction with\n--key-file.\n\nThis option is useful when the system should not stall if the user does not input a\npassphrase, e.g. during boot. The default is a value of 0 seconds, which means to wait\nforever.\n",
                    "flag": "-t",
                    "long": "--timeout"
                },
                {
                    "name": "--header <device or file storing the LUKS header>",
                    "content": "Use a detached (separated) metadata device or file where the LUKS header is stored. This\noption allows one to store ciphertext and LUKS header on different devices.\n\nFor commands that change the LUKS header (e.g. luksAddKey), specify the device or file\nwith the LUKS header directly as the LUKS device.\n\n--tcrypt-hidden, --tcrypt-system, --tcrypt-backup\nSpecify which TrueCrypt on-disk header will be used to open the device. See TCRYPT\nsection in cryptsetup(8) for more info.\n",
                    "long": "--header",
                    "arg": "LUKS"
                },
                {
                    "name": "--veracrypt",
                    "content": "This option is ignored as VeraCrypt compatible mode is supported by default.\n",
                    "long": "--veracrypt"
                },
                {
                    "name": "--disable-veracrypt",
                    "content": "This option can be used to disable VeraCrypt compatible mode (only TrueCrypt devices are\nrecognized). Only for TCRYPT extension. See TCRYPT section in cryptsetup(8) for more\ninfo.\n\n--veracrypt-pim, --veracrypt-query-pim\nUse a custom Personal Iteration Multiplier (PIM) for VeraCrypt device. See TCRYPT section\nin cryptsetup(8) for more info.\n",
                    "long": "--disable-veracrypt"
                },
                {
                    "name": "--batch-mode, -q",
                    "content": "Suppresses all confirmation questions. Use with care!\n\nIf the --verify-passphrase option is not specified, this option also switches off the\npassphrase verification.\n",
                    "flag": "-q",
                    "long": "--batch-mode"
                },
                {
                    "name": "--debug or --debug-json",
                    "content": "Run in debug mode with full diagnostic logs. Debug output lines are always prefixed by #.\n\nIf --debug-json is used, additional LUKS2 JSON data structures are printed.\n",
                    "long": "--debug-json"
                },
                {
                    "name": "--version, -V",
                    "content": "Show the program version.\n",
                    "flag": "-V",
                    "long": "--version"
                },
                {
                    "name": "--usage",
                    "content": "Show short option help.\n",
                    "long": "--usage"
                },
                {
                    "name": "--help, -?",
                    "content": "Show help text and default parameters.\n",
                    "flag": "-?",
                    "long": "--help"
                }
            ]
        },
        "REPORTING BUGS": {
            "content": "Report bugs at cryptsetup mailing list <cryptsetup@lists.linux.dev> or in Issues project\nsection <https://gitlab.com/cryptsetup/cryptsetup/-/issues/new>.\n\nPlease attach output of the failed command with --debug option added.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "Cryptsetup FAQ <https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions>\n\ncryptsetup(8), integritysetup(8) and veritysetup(8)\n",
            "subsections": []
        },
        "CRYPTSETUP": {
            "content": "Part of cryptsetup project <https://gitlab.com/cryptsetup/cryptsetup/>.\n\ncryptsetup 2.7.0                             2024-11-14                     CRYPTSETUP-TCRYPTDUMP(8)",
            "subsections": []
        }
    },
    "summary": "cryptsetup-tcryptDump - dump the header information of a TCRYPT (TrueCrypt or VeraCrypt compatible) device",
    "flags": [
        {
            "flag": "-y",
            "long": "--verify-passphrase",
            "arg": null,
            "description": "When interactively asking for a passphrase, ask for it twice and complain if both inputs do not match. Ignored on input from file or stdin. --key-file, -d name Read the passphrase from file. If the name given is \"-\", then the passphrase will be read from stdin. In this case, reading will not stop at newline characters. See section NOTES ON PASSPHRASE PROCESSING in cryptsetup(8) for more information."
        },
        {
            "flag": "",
            "long": "--dump-master-key",
            "arg": null,
            "description": "Print the volume key in the displayed information. Use with care, as the volume key can be used to bypass the passphrases, see also option --volume-key-file."
        },
        {
            "flag": "-t",
            "long": "--timeout",
            "arg": null,
            "description": "The number of seconds to wait before timeout on passphrase input via terminal. It is relevant every time a passphrase is asked. It has no effect if used in conjunction with --key-file. This option is useful when the system should not stall if the user does not input a passphrase, e.g. during boot. The default is a value of 0 seconds, which means to wait forever."
        },
        {
            "flag": "",
            "long": "--header",
            "arg": "LUKS",
            "description": "Use a detached (separated) metadata device or file where the LUKS header is stored. This option allows one to store ciphertext and LUKS header on different devices. For commands that change the LUKS header (e.g. luksAddKey), specify the device or file with the LUKS header directly as the LUKS device. --tcrypt-hidden, --tcrypt-system, --tcrypt-backup Specify which TrueCrypt on-disk header will be used to open the device. See TCRYPT section in cryptsetup(8) for more info."
        },
        {
            "flag": "",
            "long": "--veracrypt",
            "arg": null,
            "description": "This option is ignored as VeraCrypt compatible mode is supported by default."
        },
        {
            "flag": "",
            "long": "--disable-veracrypt",
            "arg": null,
            "description": "This option can be used to disable VeraCrypt compatible mode (only TrueCrypt devices are recognized). Only for TCRYPT extension. See TCRYPT section in cryptsetup(8) for more info. --veracrypt-pim, --veracrypt-query-pim Use a custom Personal Iteration Multiplier (PIM) for VeraCrypt device. See TCRYPT section in cryptsetup(8) for more info."
        },
        {
            "flag": "-q",
            "long": "--batch-mode",
            "arg": null,
            "description": "Suppresses all confirmation questions. Use with care! If the --verify-passphrase option is not specified, this option also switches off the passphrase verification."
        },
        {
            "flag": "",
            "long": "--debug-json",
            "arg": null,
            "description": "Run in debug mode with full diagnostic logs. Debug output lines are always prefixed by #. If --debug-json is used, additional LUKS2 JSON data structures are printed."
        },
        {
            "flag": "-V",
            "long": "--version",
            "arg": null,
            "description": "Show the program version."
        },
        {
            "flag": "",
            "long": "--usage",
            "arg": null,
            "description": "Show short option help."
        },
        {
            "flag": "-?",
            "long": "--help",
            "arg": null,
            "description": "Show help text and default parameters."
        }
    ],
    "examples": [],
    "see_also": [
        {
            "name": "cryptsetup",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/cryptsetup/8/json"
        },
        {
            "name": "integritysetup",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/integritysetup/8/json"
        },
        {
            "name": "veritysetup",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/veritysetup/8/json"
        }
    ]
}