Reference

virt-fw-vars(1)

manual page for virt-fw-vars 26.10

NAME

virt-fw-vars - manual page for virt-fw-vars 26.10

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] [--add-db-hash GUID HASH] [--set-dbx FILE] [--add-dbx FILE] [--add-dbx-cert GUID FILE] [--add-dbx-hash GUID HASH] [--add-mok GUID FILE] [--add-mok-hash GUID HASH] [--enroll-redhat] [--enroll-microsoft] [--enroll-cert CERT] [--enroll-generate CN] [--enroll-mgmt] [--no-microsoft] [--microsoft-db {none,win11,win23,win+rom23,uefi11,uefi23,uefi+rom23,redhat,redhat+rom,all}] [--microsoft-kek {none,2011,2023,all}] [--distro-keys DISTRO] [--distro-list] [--sb] [-p] [-v] [--hashes] [-x] [-o FILE] [--output-aws FILE] [--output-json FILE] [--output-auth DIR]

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, --set-pk-cert GUID FILE

set PK to x509 cert, loaded in pem or der format from FILE and with owner GUID

--add-kek, --add-kek-cert GUID FILE

add x509 cert to KEK, loaded in pem or der format from FILE and with owner GUID, can be specified multiple times

--add-db, --add-db-cert GUID FILE

add x509 cert to db, loaded in pem or der 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

--set-dbx FILE

initialize dbx with update from FILE

--add-dbx FILE

append dbx update from FILE

--add-dbx-cert GUID FILE

add x509 cert to dbx, loaded in pem or der format from FILE and with owner GUID, can be specified multiple times

--add-dbx-hash GUID HASH

add sha256 HASH to dbx, with owner GUID, can be specified multiple times

--add-mok, --add-mok-cert GUID FILE

add x509 cert to MokList, loaded in pem or der format from FILE and 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-microsoft

enroll default certificates for microsoft oem platform

--enroll-cert CERT

enroll using specified certificate

--enroll-generate CN

enroll using generated cert with given common name

--enroll-mgmt

enroll using external management guid

--no-microsoft

same as "--microsoft-db none"

--microsoft-db, --profile {none,win11,win23,win+rom23,uefi11,uefi23,uefi+rom23,redhat,redhat+rom,all}

choose microsoft db keys to enroll

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

--hashes

print signature db sha256 hashes

-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

--output-auth DIR

write *.auth files to DIR

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 <[email protected]>

History

--add-dbx since Arch Linux 2026-11-01; --enroll-mgmt since Arch Linux 2026-11-01; --enroll-microsoft since Arch Linux 2026-11-01; --hashes since Arch Linux 2026-11-01; --microsoft-db since Arch Linux 2026-11-01; --output-auth since Arch Linux 2026-11-01; --profile since Arch Linux 2026-11-01.