Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
EFIVAR(8)		  BSD System Manager's Manual		     EFIVAR(8)

     efivar -- UEFI environment	variable interaction

     efivar [-abdDHlLNpRtuw] [-n name] [-f file] [--append] [--ascii]
	    [--attributes] [--binary] [--delete] [--device-path]
	    [--fromfile	file] [--guid] [--hex] [--list-guids] [--list]
	    [--load-option] [--name name] [--no-name] [--print]
	    [--print-decimal] [--raw-guid] [--utf8] [--write]

     This program manages "Unified Extensible Firmware Interface" (UEFI) envi-
     ronment variables.	 UEFI variables	have three part: A namespace, a	name
     and a value.  The namespace is a GUID that	is self	assigned by the	group
     defining the variables.  The name is a Unicode name for the variable.
     The value is binary data.	All Unicode data is presented to the user as

     The following options are available:

     -n	name --name name   Specify the name of the variable to operate on.
			   The name argument is	the GUID of the	variable, fol-
			   lowed by a dash, followed by	the UEFI variable
			   name.  The GUID may be in numeric format, or	may be
			   one of the well known symbolic name (see
			   --list-guids	for a complete list).

     -f	file --fromfile	file
			   When	writing	or appending to	a variable, take the
			   data	for the	variable's value from file instead of
			   from	the command line.  This	flag implies --write
			   unless the --append or --print flags	are given.
			   This	behavior is not	well understood	and is cur-
			   rently unimplemented	for writes.  When --print is
			   specified, the contents of the file are used	as the
			   value to print using	any other specified flags.
			   This	is used	primarily for testing purposes for
			   more	complicated variable decoding.

     -a	--append	   Append the specified	value to the UEFI variable
			   rather than replacing it.

     -t	attr --attributes attr
			   Specify, in hexadecimal, the	attributes for this
			   variable.  See section 7.2 (GetVariable subsection,
			   Related Definitions)	of the UEFI Specification for
			   hex values to use.

     -A	--ascii		   Display the variable	data as	modified ascii:	All
			   printable characters	are printed, while unprintable
			   characters are rendered as a	two-digit hexadecimal
			   number preceded by a	% character.

     -b	--binary	   Display the variable	data as	binary data.  Usually
			   will	be used	with the -N or --no-name flag.	Useful
			   in scripts.

     -D	--delete	   Delete the specified	variable.  May not be used
			   with	either the --write or the --append flags.  No
			   value may be	specified.

     -d	--device --device-path
			   Interpret the variables printed as UEFI device
			   paths and print the UEFI standard string represen-

     -g	--guid		   Convert GUIDs to names if they are known (and show
			   them	up in --list-guids).

     -H	--hex		   List	variable data as a hex dump.

     -L	--list-guids	   Lists the well known	GUIDs.	The names listed here
			   may be used in place	of the numeric GUID values.
			   These names will replace the	numeric	GUID values
			   unless --raw-guid flag is specified.

     -l	--list		   List	all the	variables.  If the --print flag	is
			   also	listed,	their values will be displayed.

     --load-option	   Decode the variable as if it	were a UEFI Boot Op-
			   tion, including information about what device
			   and/or paths	the UEFI DevicePaths decode to.

     -N	--no-name	   Do not display the variable name.

     -p	--print		   Print the value of the variable.

     -R	--raw-guid	   Do not substitute well known	names for GUID numeric
			   values in output.

     -u	--utf8		   Treat the value of the variable as UCS2 and convert
			   it to UTF8 and print	the result.

     -w	--write		   Write (replace) the variable	specified with the
			   value specified from	standard input.	 No command
			   line	option to do this is available since UEFI
			   variables are binary	structures rather than
			   strings.  echo(1) -n	can be used to specify simple

     name		   Display the name environment	variable.

     The efivar	program	is intended to be compatible (strict superset) with a
     program of	the same name included in the Red Hat libefivar	package, but
     the -d and	--print-decimal	flags are not implemented and never will be.

     The -d flag is short for --device-path.

     Appendix A	of the UEFI specification has the format for GUIDs.  All GUIDs
     "Globally Unique Identifiers" have	the format described in	RFC 4122.

     The efivar	utility	first appeared in FreeBSD 11.1.

BSD				 June 18, 2020				   BSD


Want to link to this manual page? Use this URL:

home | help