FreeBSD manual
download PDF document: efibootmgr.8.pdf
EFIBOOTMGR(8) FreeBSD 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
system. It can create and destroy methods for booting along with
activating or deactivating them. It can also change the defined order of
boot methods. 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
variable, stored by the UEFI BIOS 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 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
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
(currently 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, using the
given loader and label the method "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
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,
irrespective of its active state, use:
efibootmgr -n -b 0009
To set the BootOrder for the next reboot use:
efibootmgr -o 0009,0003,...
SEE ALSO
efirt(9), efivar(8), gpart(8), uefi(8)
STANDARDS
The Unified Extensible Firmware Interface Specification is available from
www.uefi.org.
FreeBSD 14.0-RELEASE-p11 February 15, 2023 FreeBSD 14.0-RELEASE-p11