1EFIBOOTMGR(8) EFIBOOTMGR(8)
2
3
4
6 efibootmgr - change the UEFI Boot Manager configuration
7
9 efibootmgr [ -a ] [ -A ] [ -b XXXX ] [ -B ] [ -c ] [ -d DISK ] [ -D ] [
10 -e 1|3|-1 ] [ -E NUM ] [ --full-dev-path | --file-dev-path ] [ -f ] [
11 -F ] [ -g ] [ -i NAME ] [ -l NAME ] [ -L LABEL ] [ -m t|f ] [ -M X ] [
12 -n XXXX ] [ -N ] [ -o XXXX,YYYY,ZZZZ ... ] [ -O ] [ -p PART ] [ -q ] [
13 -r | -y ] [ -t seconds ] [ -T ] [ -u ] [ -v ] [ -V ] [ -w ] [ -@ file ]
14
15
17 efibootmgr is a userspace application used to modify the UEFI Boot Man‐
18 ager. This application can create and destroy boot entries, change the
19 boot order, change the next running boot option, and more.
20
21 Details on the UEFI Boot Manager are available from the UEFI Specifica‐
22 tion, v1.02 or later, available from: http://www.uefi.org
23
24 Note: efibootmgr requires that the kernel support access to EFI
25 non-volatile variables through /sys/firmware/efi/vars or
26 /sys/firmware/efi/efivars/.
27
29 The following is a list of options accepted by efibootmgr:
30
31 -a | --active
32 Set bootnum active.
33
34 -A | --inactive
35 Set bootnum inactive.
36
37 -b | --bootnum XXXX
38 Modify BootXXXX (hex).
39
40 -B | --delete-bootnum
41 Delete bootnum.
42
43 -c | --create
44 Create new variable bootnum and add to bootorder.
45
46 -C | --create-only
47 Create new variable bootnum and and do not add to bootorder.
48
49 -d | --disk DISK
50 The disk containing the loader (defaults to /dev/sda).
51
52 -D | --remove-dups
53 Remove duplicated entries from BootOrder.
54
55 -e | --edd 1|3
56 Force EDD 1.0 or 3.0 creation variables.
57
58 Use -e 1 together with -E if you are using a very old system
59 which uses UEFI to boot, but requires legacy CSM (BIOS) device
60 drivers for storage devices.
61
62 -e 3 is now deprecated, and is an alias for --full-dev-path.
63
64 -E | --edd-device NUM
65 EDD 1.0 device number (defaults to 0x80). See --edd.
66
67 --full-dev-path
68 Force creation of boot entries use a full UEFI device path,
69 starting at the PCIe root or equivalent on the current platform.
70 The default is to use a hard disk based HD() abbreviated path.
71
72 You shouldn't need to use this option unless the system firmware
73 won't boot off of your device using an abbreviated HD() device
74 path.
75
76 Note that forcing a full path will fail if we don't know what
77 the system device root is, how the specified device is connected
78 to it, or how to encode any one of those.
79
80 --file-dev-path
81 Force creation of boot entries use an abbreviated UEFI device
82 path which starts with the File() portion of the path. The de‐
83 fault is to use a hard disk based HD() abbreviated path.
84
85 -f | --reconnect
86 Re-connect devices after driver is loaded. Only applicable for
87 driver entries.
88
89 -F | --do-not-reconnect
90 Do not reconnect devices after driver is loaded. Only applica‐
91 ble for driver entries.
92
93 -g | --gpt
94 Force disk with invalid PMBR to be treated as GPT.
95
96 -i | --iface NAME
97 Create a netboot entry for the named interface.
98
99 -k | --keep NAME
100 Keep old entries when adjusting order.
101
102 -l | --loader NAME
103 Specify a loader (defaults to \EFI\fedora\grub.efi).
104
105 -L | --label LABEL
106 Boot manager display label (defaults to "Linux").
107
108 -m | --mirror-below-4G t|f
109 Set t if you want to mirror memory below 4GB.
110
111 -M | --mirror-above-4G X
112 X percentage memory to mirror above 4GB. Floating-point value
113 with up to 2 decimal places is accepted.
114
115 -n | --bootnext XXXX
116 Set BootNext to XXXX (hex).
117
118 -N | --delete-bootnext
119 Delete BootNext.
120
121 -o | --bootorder XXXX,YYYY,ZZZZ
122 Explicitly set BootOrder (hex). Any value from 0 to FFFF is ac‐
123 cepted so long as it corresponds to an existing Boot#### vari‐
124 able, and zero padding is not required.
125
126 -O | --delete-bootorder
127 Delete BootOrder.
128
129 -p | --part PART
130 Partition number containing the bootloader (defaults to 1).
131
132 -q | --quiet
133 Quiet mode - suppresses output.
134
135 -r | --driver
136 Operate on Driver#### variables instead of Boot#### variables.
137
138 -t | --timeout seconds
139 Boot Manager timeout, in seconds.
140
141 -T | --delete-timeout
142 Delete Timeout variable.
143
144 -u | --unicode | --UCS-2
145 Handle extra command line arguments as UCS-2 (default is ASCII).
146
147 -v | --verbose
148 Verbose mode - prints additional information.
149
150 -V | --version
151 Just print version string and exit.
152
153 -w | --write-signature
154 Write unique signature to the MBR if needed.
155
156 -y | --sysprep
157 Operate on SysPrep#### variables instead of Boot#### variables.
158
159 -@ | --append-binary-args
160 Append extra variable args from file (use - to read from stdin).
161 Data in file is appended as command line arguments to the boot
162 loader command, with no modification to the data, so you can
163 pass any binary or text data necessary.
164
166
167
168 Displaying the current settings (must be root):
169
170 [root@localhost ~]# efibootmgr
171 BootCurrent: 0004
172 BootNext: 0003
173 BootOrder: 0004,0000,0001,0002,0003
174 Timeout: 30 seconds
175 Boot0000* Diskette Drive(device:0)
176 Boot0001* CD-ROM Drive(device:FF)
177 Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)
178 Boot0003* PXE Boot: MAC(00D0B7C15D91)
179 Boot0004* Linux
180
181 Each of the above are boot variables, which are defined as follows:
182
183 • BootCurrent - the boot entry used to start the currently run‐
184 ning system
185
186 • BootOrder - the boot order as would appear in the boot man‐
187 ager. The boot manager tries to boot the first active entry
188 in this list. If unsuccessful, it tries the next entry, and
189 so on.
190
191 • BootNext - the boot entry which is scheduled to be run on next
192 boot. This supersedes BootOrder for one boot only, and is
193 deleted by the boot manager after first use. This allows you
194 to change the next boot behavior without changing BootOrder.
195
196 • Timeout - the time in seconds between when the boot manager
197 appears on the screen until when it automatically chooses the
198 startup value from BootNext or BootOrder.
199
200 • Five boot entries (0000 - 0004), along with the active/inac‐
201 tive flag (* means active) and the name displayed on the
202 screen.
203
204 Creating a new boot option
205 An OS installer would call efibootmgr -c. This assumes that /dev/sda1
206 is your EFI System Partition, and is mounted at /boot/efi. This cre‐
207 ates a new boot option, called "Linux", and puts it at the top of the
208 boot order list. Options may be passed to modify the default behavior.
209 The default OS Loader is \EFI\fedora\grub.efi.
210
211 Changing the boot order
212 Assuming the configuration in the first example, efibootmgr -o 3,4
213 could be called to specify PXE boot first, then Linux boot.
214
215 Changing the boot order for the next boot only
216 Assuming the configuration in the first example, efibootmgr -n 4 could
217 be called to specify that the Linux entry be taken on next boot.
218
219 Deleting a boot option
220 Assuming the configuration in the first example, efibootmgr -b 4 -B
221 could be called to delete entry 4 and remove it from the BootOrder.
222
223 Creating network boot entries
224 A system administrator wants to create a boot option to network boot.
225 You create the boot entry with: efibootmgr -c -i eth0 -L netboot [ -l
226 '\filename.efi' ]
227
229 Please direct any bugs, features, patches, etc. to the Red Hat boot‐
230 loader team at https://github.com/rhboot/efibootmgr .
231
233 This man page was generated by dann frazier <dannf@debian.org> for the
234 Debian GNU/Linux operating system and updated by Robert Bisewski <con‐
235 tact@ibiscybernetics.com>, but may be used by others.
236
237 It has subsequently been modified by Robbie Harwood <rharwood@red‐
238 hat.com> for the efibootmgr project.
239
240
241
242 28 September 2021 EFIBOOTMGR(8)