cryptsetup-erase, cryptsetup-luksErase - erase all keyslots


cryptsetup erase [<options>] <device>
luksErase [<options>] <device>


Erase all keyslots and make the LUKS container permanently inaccessible. You do not need to provide any password for this operation.

WARNING: This operation is irreversible.

<options> can be [--header, --disable-locks].


--header <device or file storing the LUKS header>

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.


Disable lock protection for metadata on disk. This option is valid only for LUKS2 and ignored for other formats.

WARNING: Do not use this option unless you run cryptsetup in a restricted environment where locking is impossible to perform (where /run directory cannot be used).

--batch-mode, -q

Suppresses all confirmation questions. Use with care!

If the --verify-passphrase option is not specified, this option also switches off the passphrase verification.

--debug or --debug-json

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.

--version, -V

Show the program version.


Show short option help.

--help, -?

Show help text and default parameters.


Report bugs at cryptsetup mailing list <cryptsetup [AT]> or in Issues project section <>;.

Please attach output of the failed command with --debug option added.


Cryptsetup FAQ <>;

cryptsetup(8), integritysetup(8) and veritysetup(8)


Part of cryptsetup project <>;.