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

FreeBSD Manual Pages


home | help
EFIBOOTMGR(8)		FreeBSD	System Manager's Manual		 EFIBOOTMGR(8)

     efibootmgr	-- manipulate the EFI Boot Manager

     efibootmgr	[-v]
     efibootmgr	-a -b bootnum
     efibootmgr	-A -b bootnum
     efibootmgr	-B -b bootnum
     efibootmgr	-c -l loader [-aD] [-b bootnum]	[-k kernel] [-L	label]
		[-e env]
     efibootmgr	-E [-d]	[-p]
     efibootmgr	-F
     efibootmgr	-f
     efibootmgr	-n -b bootnum
     efibootmgr	-N
     efibootmgr	-o bootorder
     efibootmgr	-t timeout
     efibootmgr	-T

     The efibootmgr program manipulates	how UEFI Boot Managers boot the	sys-
     tem.  It can create and destroy methods for booting along with activating
     or	deactivating them.  It can also	change the defined order of boot meth-
     ods.  It can create a temporary boot (BootNext) variable that references
     a boot method to be tried once upon the next boot.

     The UEFI standard defines how hosts may control what is used to bootstrap
     the system.  Each method is encapsulated within a persistent UEFI vari-
     able, stored by the UEFI BIOS of the form BootXXXX	(where XXXX are	upper-
     case hexadecimal digits).	These variables	are numbered, each describing
     where to load the bootstrap program from, and whether or not the method
     is	active (used for booting, otherwise the	method will be skipped).  The
     order of these methods is controlled by another variable, BootOrder.  The
     currently booted method is	communicated using BootCurrent.	 A global
     timeout can also be set.

     efibootmgr	requires that the kernel module	efirt(9) module	be present or
     loaded to get and set these non-volatile variables.

     The following options are available:

     -a	--activate
	     Activate the given	bootnum	boot entry, or the new entry when used
	     with -c.

     -A	--deactivate
	     Deactivate	the given bootnum boot entry.

     -b	--bootnum bootnum
	     When creating or modifying	an entry, use bootnum as the index.
	     When creating a new entry,	fail if	it already exists.

     -B	--delete
	     Delete the	given bootnum boot entry.

     -c	--create
	     Create a new Boot variable	(aka method or entry).

     -D	--dry-run
	     Process but do not	change any variables.

     -E	--esp
	     Print the FreeBSD path to the ESP device, derived from the	EFI
	     variables BootCurrent and BootXXXX.  This is the ESP partition
	     used by UEFI to boot the current instance of the system.  If -d
	     --device-path is specified, the UEFI device path to the ESP is
	     reported instead.	If -p --unix-path is specified,	the mount
	     point of the ESP is reported instead.

     -f	--fw-ui, -F --no-fw-ui
	     Set or clear the request to the system firmware to	stop in	its
	     user interface on the next	boot.

     -k	--kernel kernel
	     The path to and name of the kernel.

     -l	--loader loader
	     The path to and name of the loader.

     -L	--label	label
	     An	optional description for the method.

     -n	--bootnext
	     Set bootnum boot entry as the BootNext variable.

     -N	--delete-bootnext
	     Delete the	BootNext optional variable.

     -o	--bootorder bootorder
	     Set BootOrder variable to the given comma delimited set of
	     bootnums.	The numbers are	in hex to match	BootXXXX, but may omit
	     leading zeros.

     -t	--set-timeout timeout
	     Set the bootmenu timeout value.

     -T	--del-timeout
	     Delete the	BootTimeout variable.

     -v	--verbose
	     Display the device	path of	boot entries in	the output.

     To	display	the current Boot related variables in the system:

	   efibootmgr -v

     This will display the optional BootNext (if present), BootCurrent (cur-
     rently booted method), followed by	the optional Timeout value, any
     BootOrder that may	be set,	followed finally by all	currently defined Boot
     variables,	active or not.	The verbose flag, (-v),	augments this output
     with the disk partition uuids, size/offset	and device-path	of the vari-
     able.  The	flag will also include any unreferenced	(by BootOrder) vari-

     The efibootmgr program can	be used	to create new EFI boot variables.  The
     following command may be used to create a new boot	method,	using the EFI
     partition mounted under /mnt, mark	the method active, using the given
     loader and	label the method "FreeBSD-11":

	   efibootmgr -a -c -l /mnt/EFI/freebsd/loader.efi -L FreeBSD-11

     This will result in the next available bootnum being assigned to a	new
     UEFI boot variable, and given the label "FreeBSD-11" such as:

	   Boot0009 FreeBSD-11

     Note newly	created	boot entries are, by default, created inactive,	hence
     the reason	-a flag	is specified above so that it will be considered for
     booting.  The active state	is denoted by a	'*' following the BootXXXX
     name in the output.  They are also	inserted into the first	position of
     current BootOrder variable	if it exists.  They must first be set to ac-
     tive before being considered available to attempt booting from, else they
     are ignored.

	   efibootmgr -B -b 0009

     Will delete the given boot	entry Boot0009.

     To	set the	given boot entry active:

	   efibootmgr -a -b 0009

     To	set a given boot entry to be used as the BootNext variable, irrespec-
     tive of its active	state, use:

	   efibootmgr -n -b 0009

     To	set the	BootOrder for the next reboot use:

	   efibootmgr -o 0009,0003,...

     efirt(9), efivar(8), gpart(8), uefi(8)

     The Unified Extensible Firmware Interface Specification is	available from

FreeBSD	13.0			August 25, 2020			  FreeBSD 13.0


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

home | help