2 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
4 <!-- This manpage was compiled by dann frazier <email>dannf@debian.org</email>,
5 and was based on an example constructed by Colin Watson
6 <email>cjwatson@debian.org</email>, which was based on a man page template
7 provided by Tom Christiansen <email>tchrist@jhereg.perl.com</email>
8 and a DocBook man page example by Craig Small
9 <email>csmall@debian.org</email>.
11 The content was mostly taken from the efibootmgr README file in the
12 Debian package, which was written by Matt Domsch
13 <email>Matt_Domsch@dell.com</email>.
16 <!-- Fill in the various UPPER CASE things here. -->
17 <!ENTITY manfirstname "<firstname>dann</firstname>">
18 <!ENTITY mansurname "<surname>frazier</surname>">
19 <!-- Please adjust the date whenever revising the manpage. -->
20 <!ENTITY mandate "<date>2003-08-11</date>">
21 <!-- SECTION should be 1-8, maybe with subsection. Other parameters are
22 allowed: see man(7), man(1). -->
23 <!ENTITY mansection "<manvolnum>8</manvolnum>">
24 <!ENTITY manemail "<email>dannf@debian.org</email>">
25 <!ENTITY manusername "dann frazier">
26 <!ENTITY manucpackage "<refentrytitle>EFIBOOTMGR</refentrytitle>">
27 <!ENTITY manpackage "efibootmgr">
40 <year>2002, 2003</year>
41 <holder>&manusername;</holder>
51 <refname>&manpackage;</refname>
53 <refpurpose>manipulate the EFI Boot Manager</refpurpose>
57 <command>&manpackage;</command>
61 <arg>-b <replaceable>XXXX</replaceable></arg>
62 <arg>-B <replaceable>XXXX</replaceable></arg>
64 <arg>-d <replaceable>DISK</replaceable></arg>
65 <arg>-e <replaceable>1|3|-1</replaceable></arg>
66 <arg>-E <replaceable>NUM</replaceable></arg>
68 <arg>-H <replaceable>XXXX</replaceable></arg>
69 <arg>-i <replaceable>NAME</replaceable></arg>
70 <arg>-l <replaceable>NAME</replaceable></arg>
71 <arg>-L <replaceable>LABEL</replaceable></arg>
72 <arg>-n <replaceable>XXXX</replaceable></arg>
74 <arg rep="repeat">-o <replaceable>XXXX</replaceable>,<replaceable>YYYY</replaceable>,<replaceable>ZZZZ</replaceable></arg>
76 <arg>-p <replaceable>PART</replaceable></arg>
80 <arg>-U <replaceable>XXXX</replaceable></arg>
87 <title>DESCRIPTION</title>
89 <para><command>&manpackage;</command> is a userspace application used to
90 modify the Intel Extensible Firmware Interface (EFI) Boot Manager. This
91 application can create and destroy boot entries, change the boot order,
92 change the next running boot option, and more.</para>
95 Details on the EFI Boot Manager are available from the EFI
96 Specification, v1.02 or later, available from:
97 <ulink url="http://developer.intel.com"></ulink>
102 &manpackage; requires that the kernel support access to EFI
103 non-volatile variables (through <filename>/proc/efi/vars</filename>).
104 <command>modprobe efivars</command> should do the trick.
109 <title>OPTIONS</title>
111 <para>The following is a list of options accepted by &manpackage;:</para>
115 <term><option>-a</option> | <option>--active</option></term>
117 <para>Sets bootnum active</para>
121 <term><option>-A</option> | <option>--inactive</option></term>
123 <para>Sets bootnum inactive</para>
127 <term><option>-b</option> | <option>--bootnum</option> <replaceable>XXXX</replaceable></term>
129 <para>Modify Boot<replaceable>XXXX</replaceable> (hex)</para>
133 <term><option>-B</option> | <option>--delete-bootnum</option></term>
135 <para>Delete bootnum (hex)</para>
139 <term><option>-c</option> | <option>--create</option></term>
141 <para>Create new variable bootnum and add to bootorder</para>
145 <term><option>-d</option> | <option>--disk</option> <replaceable>DISK</replaceable></term>
147 <para>The disk containing the loader (defaults to
148 <filename>/dev/sda</filename>)</para>
152 <term><option>-e</option> | <option>--edd</option> <replaceable>1|3|-1</replaceable></term>
154 <para>Force EDD 1.0 or 3.0 creation variables, or guess.</para>
158 <term><option>-E</option> | <option>--device</option> <replaceable>NUM</replaceable></term>
160 <para>EDD 1.0 device number (defaults to 0x80)</para>
164 <term><option>-g</option> | <option>--gpt</option></term>
166 <para>Force disk with invalid PMBR to be treated as GPT</para>
170 <term><option>-H</option> | <option>--acpi_hid</option> <replaceable>XXXX</replaceable></term>
172 <para>set the ACPI HID (used with <option>-i</option>)</para>
176 <term><option>-i</option> | <option>--iface</option> <replaceable>NAME</replaceable></term>
178 <para>create a netboot entry for the named interface</para>
182 <term><option>-l</option> | <option>--loader</option> <replaceable>NAME</replaceable></term>
184 <para>Specify a loader (defaults to <filename>\\elilo.efi</filename>)
189 <term><option>-L</option> | <option>--label</option> <replaceable>LABEL</replaceable></term>
191 <para>Boot manager display label (defaults to "Linux")</para>
195 <term><option>-n</option> | <option>--bootnext</option> <replaceable>XXXX</replaceable></term>
197 <para>Set BootNext to XXXX (hex)</para>
201 <term><option>-N</option> | <option>--delete-bootnext</option></term>
203 <para>Delete BootNext</para>
207 <term><option>-o</option> | <option>--bootorder</option> <replaceable>XXXX</replaceable>,<replaceable>YYYY</replaceable>,<replaceable>ZZZZ</replaceable></term>
209 <para>Explicitly set BootOrder (hex)</para>
213 <term><option>-O</option> | <option>--delete-bootorder</option></term>
215 <para>Delete BootOrder</para>
219 <term><option>-p</option> | <option>--part</option> <replaceable>PART</replaceable></term>
221 <para>Partition number containing the bootloader (defaults to 1)</para>
225 <term><option>-q</option> | <option>--quiet</option></term>
227 <para>Quiet mode - supresses output.</para>
231 <term><option>-t</option> | <option>--test</option> <replaceable>filename</replaceable></term>
233 <para>Don't write to NVRAM, write to <replaceable>filename</replaceable>.</para>
237 <term><option>-u</option> | <option>--unicode</option> | <option>--UCS-2</option> </term>
239 <para>pass extra command line arguments as UCS-2 (default is
244 <term><option>-U</option> | <option>--acpi_uid</option> <replaceable>XXXX</replaceable></term>
246 <para>set the ACPI UID (used with <option>-i</option>)</para>
250 <term><option>-v</option> | <option>--verbose</option></term>
252 <para>Verbose mode - prints additional information</para>
256 <term><option>-V</option> | <option>--version</option></term>
258 <para>Just print version string and exit.</para>
262 <term><option>-w</option> | <option>--write-signature</option></term>
264 <para>write unique signature to the MBR if needed</para>
271 <title>EXAMPLES</title>
275 <title>Displaying the current settings (must be root).</title>
279 [root@localhost ~]# efibootmgr
282 BootOrder: 0004,0000,0001,0002,0003
283 Boot0000* Diskette Drive(device:0)
284 Boot0001* CD-ROM Drive(device:FF)
285 Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)
286 Boot0003* PXE Boot: MAC(00D0B7C15D91)
290 <para>This shows:</para>
293 <para>BootCurrent - the boot entry used to start the currently
294 running system</para>
298 BootOrder - the boot order as would appear in the boot manager.
299 The boot manager tries to boot the first active entry in this
300 list. If unsuccessful, it tries the next entry, and so on.
305 BootNext - the boot entry which is scheduled to be run on next
306 boot. This supercedes BootOrder for one boot only, and is
307 deleted by the boot manager after first use. This allows you
308 to change the next boot behavior without changing BootOrder.
313 Five boot entries (0000 - 0004), along with the active/inactive
314 flag (* means active) and the name displayed on the screen.
322 <title>Creating a new boot option</title>
324 An OS installer would call <command>&manpackage; -c</command>.
325 This assumes that <filename>/boot/efi</filename> is your EFI System
326 Partition, and is mounted at <filename>/dev/sda1</filename>. This
327 creates a new boot option, called "Linux", and puts it at the top of
328 the boot order list. Options may be passed to modify the default
329 behavior. The default OS Loader is <filename>elilo.efi</filename>.
335 <title>Changing the Boot Order</title>
337 Assuming the configuration in Example #1,
338 <command>&manpackage; -o 3,4</command> could be called to specify
339 PXE boot first, then Linux boot.
345 <title>Changing the Boot Order for the Next Boot Only</title>
347 Assuming the configuration in Example #1,
348 <command>&manpackage; -n 4</command> could be called to specify
349 that the Linux entry be taken on next boot.
355 <title>Deleting a boot option</title>
357 Assuming the configuration in Example #1,
358 <command>&manpackage; -b 4 -B</command> could be called to delete
359 entry 4 and remove it from the BootOrder.
365 <title>Creating network boot entries</title>
367 A system administrator wants to create a boot option to network
368 boot (PXE). Unfortunately, this requires knowing a little more
369 information about your system than can be easily found by
370 efibootmgr, so you've got to pass additional information - the ACPI
371 HID and UID values. These can generally be found by using the EFI
372 Boot Manager (in the EFI environment) to create a network boot
373 entry, then using efibootmgr to print it verbosely. Here's one example:
375 Boot003* Acpi(PNP0A03,0)/PCI(5|0)/Mac(00D0B7F9F510) \
376 ACPI(a0341d0,0)PCI(0,5)MAC(00d0b7f9f510,0)
378 In this case, the ACPI HID is "0A0341d0" and the UID is "0".
379 For the zx2000 gigE, the HID is "222F" and the UID is "500".
380 For the rx2000 gigE, the HID is "0002" and the UID is "100".
382 You create the boot entry with:
383 <command>efibootmgr -c -i eth0 -H 222F -U 500 -L netboot</command>
393 <para>Please direct any bugs, features, patches, etc. to Matt Domsch
394 <email>Matt_Domsch@dell.com</email>.
399 <title>AUTHOR</title>
400 <para>This man page was generated by dann frazier &manemail; for the
401 Debian GNU/Linux operating system, but may be used by others.</para>
405 <title>SEE ALSO</title>
407 <para>elilo(1)</para>
411 <!-- Keep this comment at the end of the file
416 sgml-minimize-attributes:nil
417 sgml-always-quote-attributes:t
420 sgml-parent-document:nil
421 sgml-default-dtd-file:nil
422 sgml-exposed-tags:nil
423 sgml-local-catalogs:nil
424 sgml-local-ecat-files:nil