SEDUTIL-CLI(8)
π SEDUTIL-CLI π
okay bestie, gather round, because this is the manual page for sedutil-cli β the util that manages TCG Opal 2.0 self encrypting drives. yes she's a section 8 system admin girlie and yes she's iconic. no cap. π
β¨ SYNOPSIS β¨
sedutil-cli <-v> <-n> <action> <options> <device>
like, that's the whole shape of it. flags, action, options, device. the four-course meal. π
πΈ DESCRIPTION πΈ
so sedutil-cli is a utility to manage self encrypting drives that conform to the Trusted Computing Group (TCG) OPAL 2.0 SSC specification. that's the vibe. that's the whole assignment. π
now here's the part that will ruin your afternoon if you skip it: on Linux, libata.allow_tpm must be set to 1. literally must. no exceptions, no "but I thoughtβ".
you've got two ways to do it, bestie:
- add
libata.allow_tpm=1to the kernel flags at boot time π¦ - or change the contents of
/sys/module/libata/parameters/allow_tpmfrom a"0"to a"1"on a running system β
pick your fighter. but pick one. π€
π OPTIONS π
π General Options
-v(optional) β increase verbosity! and the way that this works is you stack them: one to five v's.-vis a whisper,-vvvvvis a scream. π£οΈ-n(optional) β no password hashing. β οΈ and like... bestie... Passwords will be sent in clear text! she's not being dramatic, that's literally what it says. π¨
not me warning you twice but genuinely: -n means clear text passwords. that's the deal. that's the trade. π
π¦ Actions
--scanβ Scans the devices on the system identifying Opal compliant devices. the little detector-gadget moment. π--query <device>β Display the Discovery 0 response of a device. it's giving "tell me about yourself" energy. π¬--isValidSED <device>β Verify whether the given device is SED or not. yes/no, slay/not-slay. β--listLockingRanges <password> <device>β List all Locking Ranges. all of them. every last one. π--listLockingRange <0...n> <password> <device>β List all Locking Ranges,0= GLobal1..n= LRn. π--eraseLockingRange <0...n> <password> <device>β Erase a Locking Range,0= GLobal1..n= LRn. π--setupLockingRange <0...n> <RangeStart> <RangeLength> <password> <device>β Setup a new Locking Range,0= GLobal1..n= LRn. fresh range, who dis. π--initialSetup <SIDpassword> <device>β Setup the device for use with sedutil,<SIDpassword>is new SID and Admin1 password. the glow-up beginning. β¨--setSIDPassword <SIDpassword> <newSIDpassword> <device>β Change the SID password. out with the old, in with the new. π--setAdmin1Pwd <Admin1password> <newAdmin1password> <device>β Change the Admin1 password. same energy, different key. ποΈ--setPassword <oldpassword, " for MSID> <userid> <newpassword> <device>β Change the Enterprise password for userid,"EraseMaster"or"BandMaster<n>",0 <= n <= 1023. (and yes the"inside that placeholder is doing what it's doing β copying it exactly, character for character, because I do not edit the ancestors.) π«Ά--setLockingRange <0...n> <RW|RO|LK> <Admin1password> <device>β Set the status of a Locking Range,0= GLobal1..n= LRn. pick your mode:RW,RO, orLK. choose wisely. π₯--enableLockingRange <0...n> <Admin1password> <device>β Enable a Locking Range,0= GLobal1..n= LRn. π’--disableLockingRange <0...n> <Admin1password> <device>β Disable a Locking Range,0= GLobal1..n= LRn. π΄--setMBREnable <on|off> <Admin1password> <device>β Enable|Disable MBR shadowing. πΆοΈ--setMBRDone <on|off> <Admin1password> <device>β set|unset MBRDone. β--loadPBAimage <Admin1password> <file> <device>β Write<file>to MBR Shadow area. drop it in, she goes in. π₯--revertTPer <SIDpassword> <device>β set the device back to factory defaults. and listen. listen to me. This ERASES ALL DATA. not "some". not "a lil bit". ALL. πππ--revertNoErase <Admin1password> <device>β deactivate the Locking SP without erasing the data on GLOBAL RANGE ONLY. only. only. capital-O-N-L-Y. don't get cute about it. π----yesIreallywanttoERASEALLmydatausingthePSID <PSID> <device>β revert the device using the PSID. ERASING ALL the data. the four dashes are not a typo, that's the actual name, and honestly the name is a whole vibe check you have to pass before you're allowed to do this. π¨--printDefaultPassword <device>β print MSID. β¨
π§ EXAMPLES π§
here's the part you actually came for, bestie. copy-paste responsibly:
sedutil-cli --scan
sedutil-cli --query /dev/sdc
sedutil-cli --yesIreallywanttoERASEALLmydatausingthePSID <PSIDALLCAPSNODASHED> /dev/sdc
sedutil-cli --initialSetup <newSIDpassword> /dev/sdc
look at her. --scan to see what's out there. --query to interrogate. and then that third one... that third one is a whole commitment. π note the <PSIDALLCAPSNODASHED> β all caps, no dashes. the PSID does not want your lowercase. the PSID does not want your hyphens. π
π΄ BUGS π΄
Sleep (S3) is not supported. she does not nap. do not ask her to nap. πβ
π AUTHOR π
The tool was developed by Bright Plaza Inc. <drivetrust@drivetrust.com>. π
This man page was written by Jan Luca Naumann <j.naumann@fu-berlin.de>. π«Ά
and that's the whole page, bestie!! this was version 0.12, dated 18 Feb 2016, and it's the sedutil-cli manual, section 8. thank you for coming to my TED talk, go encrypt something (or don't, if you can't find your PSID). mwah. π
πβ¨
π¦ where this page comes from
- debian trixie: sedutil 1.20.0-2+b1 Β· GPL-3.0-or-later
- epel 10: sedutil 1.20.0-8.el10_0 Β· GPL-3.0-or-later AND CC0-1.0 AND BSD-4-Clause-UC AND Unlicense
- epel 9: sedutil 1.20.0-2.el9 Β· GPLv3+ and CC0
- fedora 43: sedutil 1.49.13-2.fc43 Β· GPL-3.0-or-later AND CC0-1.0 AND BSD-4-Clause-UC AND Unlicense
- fedora 44: sedutil 1.49.13-3.fc44 Β· GPL-3.0-or-later AND CC0-1.0 AND BSD-4-Clause-UC AND Unlicense
- nixos 26.05: sedutil 1.49.13
- nixpkgs unstable: sedutil 1.49.13
- opensuse-leap 16.0: sedutil 1.20.0-bp160.1.9 Β· GPL-3.0-or-later
- ubuntu questing: sedutil 1.20.0-2
- ubuntu resolute: sedutil 1.20.0-2build1 Β· GPL-3.0-or-later
- ubuntu stonking: sedutil 1.20.0-2build1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms