Imported Debian patch 0.5.3-1
[debian/efibootmgr] / README
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.
5
6 Details on the EFI Boot Manager are available from the EFI
7 Specification, v1.02 or above, available from http://developer.intel.com.
8
9 Note: efibootmgr requires that the kernel module efivars be loaded
10 prior to use.  'modprobe efivars' should do the trick.
11
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
31         -q | --quiet           be quiet
32         --test filename   don't write to NVRAM, write to filename
33         -t | --timeout seconds   Boot manager timeout
34         -T | --delete-timeout    delete Timeout value
35         -u | --unicode | --UCS-2  pass extra args as UCS-2 (default is ASCII)
36         -U | --acpi_uid XXXX    set the ACPI UID (used with -i)
37         -v | --verbose         print additional information
38         -V | --version         return version and exit
39         -w | --write-signature  write unique sig to MBR if needed
40         -@ | --append-binary-args   append extra variable args from
41                                     file (use - to read from stdin).  
42
43
44 Typical usage:
45 1) Root can use it to display the current Boot Manager settings.
46   [root@localhost ~]# efibootmgr
47   BootCurrent: 0004
48   BootNext: 0003
49   BootOrder: 0004,0000,0001,0002,0003
50   Timeout: 30 seconds
51   Boot0000* Diskette Drive(device:0)
52   Boot0001* CD-ROM Drive(device:FF) 
53   Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)   
54   Boot0003* PXE Boot: MAC(00D0B7C15D91)               
55   Boot0004* Linux
56
57   This shows:
58   BootCurrent - the boot entry used to start the currently running
59   system.
60
61   BootOrder - the boot order as would appear in the boot manager.  The
62   boot manager tries to boot the first active entry on this list.  If
63   unsuccessful, it tries the next entry, and so on.
64
65   BootNext - the boot entry which is scheduled to be run on next boot.
66   This superceeds BootOrder for one boot only, and is deleted by the
67   boot manager after first use.  This allows you to change the next boot
68   behavior without changing BootOrder.
69
70   Timeout - the time in seconds between when the boot manager appears
71   on the screen until when it automatically chooses the startup value
72   from BootNext or BootOrder.
73
74   Five boot entries (0000 - 0004), the active/inactive flag (* means
75   active), and the name displayed on the screen.
76
77
78 2) An OS installer would call 'efibootmgr -c'.  This assumes that
79    /boot/efi is your EFI System Partition, and is mounted at /dev/sda1.
80    This creates a new boot option, called "Linux", and puts it at the top
81    of the boot order list.  Options may be passed to modify the
82    default behavior.  The default OS Loader is elilo.efi.
83
84 3) A system administrator wants to change the boot order.  She would
85    call 'efibootmgr -o 3,4' to specify PXE boot first, then Linux
86    boot.
87
88 4) A system administrator wants to change the boot order for the next
89    boot only.  She would call 'efibootmgr -n 4' to specify that the
90    Linux entry be taken on next boot.
91
92 5) A system administrator wants to delete the Linux boot option from
93    the menu.  'efibootmgr -b 4 -B' deletes entry 4 and removes it
94    from BootOrder.
95
96 6) A system administrator wants to create a boot option to network
97    boot (PXE).  Unfortunately, this requires knowing a little more
98    information about your system than can be easily found by
99    efibootmgr, so you've got to pass additional information - the ACPI
100    HID and UID values.  These can generally be found by using the EFI
101    Boot Manager (in the EFI environment) to create a network boot
102    entry, then using efibootmgr to print it verbosely.  Here's one example:
103
104      Boot003* Acpi(PNP0A03,0)/PCI(5|0)/Mac(00D0B7F9F510) \
105         ACPI(a0341d0,0)PCI(0,5)MAC(00d0b7f9f510,0)
106
107    In this case, the ACPI HID is "0A0341d0" and the UID is "0".
108    For the zx2000 gigE, the HID is "222F" and the UID is "500".
109    For the rx2000 gigE, the HID is "0002" and the UID is "100".
110    You create the boot entry with:
111    'efibootmgr -c -i eth0 -H 222F -U 500 -L netboot'
112
113 Many other uses may be found.
114
115 Please direct any bugs, features, patches, etc. to Matt Domsch
116 <Matt_Domsch@dell.com>.
117
118
119
120
121