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

FreeBSD Manual Pages

  
 
  

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

NAME
       efibootmgr -- manipulate	the EFI	Boot Manager

SYNOPSIS
       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
       efibootmgr -u unix-path

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

       The  UEFI  standard defines how hosts may control what is used to boot-
       strap the system.  Each method is encapsulated within a persistent UEFI
       variable, stored	by the UEFI firmware of	the form BootXXXX (where  XXXX
       are  uppercase 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 vari-
       able, 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.  For con-
	       venience, if bootnum is prefixed	with "boot",  that  prefix  is
	       ignored.

       -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 --env
	       When  creating  a  Boot	variable, include a set	of environment
	       variables for the loader	to set after parsing the command line.
	       Variables are of	the form "a=b" and separated by	 spaces.   The
	       argument	 should	 be  quoted.   appends these to	the end	of the
	       Boot environment	variable.  Before  processing  anything	 else,
	       loader.efi(8)  will parse this area and set all variables found
	       there.

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

       -u --efidev unix-path
	       Displays	the UEFI device	path of	unix-path.

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

EXAMPLES
       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  variable.	The  flag  will	 also  include	any  unreferenced  (by
       BootOrder) variables.

       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 /boot/efi, mark the method active,  us-
       ing the given loader and	label the method "FreeBSD-15":

	     efibootmgr	  -a   -c   -l	 /boot/efi/EFI/freebsd/loader.efi   -L
	     FreeBSD-15

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

	     Boot0009 FreeBSD-15

       Note  newly  created  boot  entries  are, by default, created inactive,
       hence the reason	-a flag	is specified above so that it will be  consid-
       ered  for  booting.  The	active state is	denoted	by a '*' following the
       BootXXXX	name in	the output.  They are also inserted into the first po-
       sition of current BootOrder variable if it exists.  They	must first  be
       set  to	active	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,	 irre-
       spective	of its active state, use:

	     efibootmgr	-n -b 0009

       To set the BootOrder for	the next reboot	use:

	     efibootmgr	-o 0009,0003,...

SEE ALSO
       efivar(8), gpart(8), loader.efi(8), uefi(8), efirt(9)

STANDARDS
       The  Unified  Extensible	 Firmware Interface Specification is available
       from www.uefi.org.

FreeBSD	ports 15.quarterly	April 11, 2026			 EFIBOOTMGR(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=efibootmgr&sektion=8&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help