Section 1 · User commands
virt-fw-vars.1
Package: python3-virt-firmware
VIRT-FW-VARS
NAME
DESCRIPTION
EXAMPLES
AUTHOR
NAME
virt-fw-vars − manual page for virt-fw-vars 24.11
DESCRIPTION
The virt-fw-vars utility can print and modify UEFI variable stores. Supported formats are standard edk2 (as used by ovmf and armvirt) and aws.
usage: virt−fw−vars [−h] [−l LEVEL] [−i FILE] [−−inplace FILE]
[−−extract−certs] [−d VAR] [−−set−true VAR]
[−−set−false VAR] [−−set−json FILE] [−−set−boot−uri LINK] [−−append−boot−filepath FILE] [−−set−shim−debug] [−−set−shim−verbose] [−−set−fallback−verbose] [−−set−fallback−no−reboot] [−−set−sbat−level FILE] [−−set−pk GUID FILE] [−−add−kek GUID FILE] [−−add−db GUID FILE] [−−set−dbx FILE] [−−add−mok GUID FILE] [−−add−db−hash GUID HASH] [−−add−mok−hash GUID HASH] [−−enroll−redhat] [−−enroll−cert CERT] [−−enroll−generate CN] [−−no−microsoft] [−−microsoft−kek {none,2011,2023,all}] [−−distro−keys DISTRO] [−−distro−list] [−−sb] [−p] [−v] [−x] [−o FILE] [−−output−aws FILE] [−−output−json FILE]
Print and modify EFI variable stores.
options:
**
−h**, −−help
show this help message and exit
−l, −−loglevel LEVEL
set loglevel to LEVEL
−i, −−input FILE
read edk2 or aws vars from FILE
−−inplace, −−in−place FILE
modify FILE in place
−−extract−certs
extract all certificates
Variable options:
−d, −−delete VAR
delete variable VAR, can be specified multiple times
−−set−true VAR
set variable VAR to true, can be specified multiple times
−−set−false VAR
set variable VAR to false, can be specified multiple times
−−set−json FILE
set variables from json dump FILE
Boot configuration:
−−set−boot−uri LINK
set network boot uri to LINK (once, using BootNext)
−−append−boot−filepath FILE
append boot entry for FILE (permanent, using BootOrder)
shim.efi configuration:
−−set−shim−debug
enable shim.efi debugging (pause for debugger attach)
−−set−shim−verbose
enable shim.efi verbose messages
−−set−fallback−verbose
enable fallback.efi verbose messages
−−set−fallback−no−reboot
disable rebooting for fallback.efi
−−set−sbat−level FILE
set SbatLevel variable
Secure boot setup options:
−−set−pk GUID FILE
set PK to x509 cert, loaded in pem format from FILE and with owner GUID
−−add−kek GUID FILE
add x509 cert to KEK, loaded in pem format from FILE and with owner GUID, can be specified multiple times
−−add−db GUID FILE
add x509 cert to db, loaded in pem format from FILE and with owner GUID, can be specified multiple times
−−set−dbx FILE
initialize dbx with update from FILE
−−add−mok GUID FILE
add x509 cert to MokList, loaded in pem format from FILE and with owner GUID, can be specified multiple times
−−add−db−hash GUID HASH
add sha256 HASH to db, with owner GUID, can be specified multiple times
−−add−mok−hash GUID HASH
add sha256 HASH to MokList, with owner GUID, can be specified multiple times
Secure boot convinience shortcuts:
−−enroll−redhat
enroll default certificates for redhat platform
−−enroll−cert CERT
enroll using specified certificate
−−enroll−generate CN
enroll using generated cert with given common name
−−no−microsoft
do not add microsoft keys to db
−−microsoft−kek {none,2011,2023,all}
choose microsoft KEK keys to enroll
−−distro−keys DISTRO
add ca keys for DISTRO
−−distro−list
list known distros
−−sb, −−secure−boot
enable secure boot mode
Print options:
−p, −−print
print varstore
−v, −−verbose
print varstore verbosely
−x, −−hexdump
print variable hexdumps
Output options:
−o, −−output FILE
write edk2 or aws vars to FILE, using the same format the −−input FILE has.
−−output−aws FILE
write aws vars to FILE
−−output−json FILE
write json dump to FILE
EXAMPLES
Print variable store.
virt-fw-vars —input ${guest}_VARS.fd \
—print —verbose
Enroll default (microsoft) secure boot certificates
virt-fw-vars —input OVMF_VARS.fd \
—output OVMF_VARS.secboot.fd \
—enroll-redhat \
—secure-boot
AUTHOR
Gerd Hoffmann <kraxel@redhat.com>