1 This is efibootmgr, a Linux user-space application to modify the Intel
2 Extensible Firmware Interface (EFI) Boot Manager. This application
3 can create and destroy boot entries, change the boot order, change
4 the next running boot option, and more.
6 Details on the EFI Boot Manager are available from the EFI
7 Specification, v1.02 or above, available from http://developer.intel.com.
9 Note: efibootmgr requires that the kernel module efivars be loaded
10 prior to use. 'modprobe efivars' should do the trick.
12 usage: efibootmgr [options]
13 -a | --active sets bootnum active
14 -A | --inactive sets bootnum inactive
15 -b | --bootnum XXXX modify BootXXXX (hex)
16 -B | --delete-bootnum delete bootnum (hex)
17 -c | --create create new variable bootnum and add to bootorder
18 -d | --disk disk (defaults to /dev/sda) containing loader
19 -e | --edd [1|3|-1] force EDD 1.0 or 3.0 creation variables, or guess
20 -E | --device num EDD 1.0 device number (defaults to 0x80)
21 -g | --gpt force disk w/ invalid PMBR to be treated as GPT
22 -H | --acpi_hid XXXX set the ACPI HID (used with -i)
23 -i | --iface name create a netboot entry for the named interface
24 -l | --loader name (defaults to \elilo.efi)
25 -L | --label label Boot manager display label (defaults to "Linux")
26 -n | --bootnext XXXX set BootNext to XXXX (hex)
27 -N | --delete-bootnext delete BootNext
28 -o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)
29 -O | --delete-bootorder delete BootOrder
30 -p | --part part (defaults to 1) containing loader
32 -t | --test filename don't write to NVRAM, write to filename
33 -u | --unicode | --UCS-2 pass extra args as UCS-2 (default is ASCII)
34 -U | --acpi_uid XXXX set the ACPI UID (used with -i)
35 -v | --verbose print additional information
36 -V | --version return version and exit
37 -w | --write-signature write unique sig to MBR if needed
41 1) Root can use it to display the current Boot Manager settings.
42 [root@localhost ~]# efibootmgr
45 BootOrder: 0004,0000,0001,0002,0003
46 Boot0000* Diskette Drive(device:0)
47 Boot0001* CD-ROM Drive(device:FF)
48 Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)
49 Boot0003* PXE Boot: MAC(00D0B7C15D91)
53 BootCurrent - the boot entry used to start the currently running
56 BootOrder - the boot order as would appear in the boot manager. The
57 boot manager tries to boot the first active entry on this list. If
58 unsuccessful, it tries the next entry, and so on.
60 BootNext - the boot entry which is scheduled to be run on next boot.
61 This superceeds BootOrder for one boot only, and is deleted by the
62 boot manager after first use. This allows you to change the next boot
63 behavior without changing BootOrder.
65 Five boot entries (0000 - 0004), the active/inactive flag (* means
66 active), and the name displayed on the screen.
69 2) An OS installer would call 'efibootmgr -c'. This assumes that
70 /boot/efi is your EFI System Partition, and is mounted at /dev/sda1.
71 This creates a new boot option, called "Linux", and puts it at the top
72 of the boot order list. Options may be passed to modify the
73 default behavior. The default OS Loader is elilo.efi.
75 3) A system administrator wants to change the boot order. She would
76 call 'efibootmgr -o 3,4' to specify PXE boot first, then Linux
79 4) A system administrator wants to change the boot order for the next
80 boot only. She would call 'efibootmgr -n 4' to specify that the
81 Linux entry be taken on next boot.
83 5) A system administrator wants to delete the Linux boot option from
84 the menu. 'efibootmgr -b 4 -B' deletes entry 4 and removes it
87 6) A system administrator wants to create a boot option to network
88 boot (PXE). Unfortunately, this requires knowing a little more
89 information about your system than can be easily found by
90 efibootmgr, so you've got to pass additional information - the ACPI
91 HID and UID values. These can generally be found by using the EFI
92 Boot Manager (in the EFI environment) to create a network boot
93 entry, then using efibootmgr to print it verbosely. Here's one example:
95 Boot003* Acpi(PNP0A03,0)/PCI(5|0)/Mac(00D0B7F9F510) \
96 ACPI(a0341d0,0)PCI(0,5)MAC(00d0b7f9f510,0)
98 In this case, the ACPI HID is "0A0341d0" and the UID is "0".
99 For the zx2000 gigE, the HID is "222F" and the UID is "500".
100 For the rx2000 gigE, the HID is "0002" and the UID is "100".
101 You create the boot entry with:
102 'efibootmgr -c -i eth0 -H 222F -U 500 -L netboot'
104 Many other uses may be found.
106 Please direct any bugs, features, patches, etc. to Matt Domsch
107 <Matt_Domsch@dell.com>.