Imported Debian patch 0.4.9-0.sarge.2
[debian/efibootmgr] / src / man / man8 / efibootmgr.8.docbook
1
2 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
3
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>.
10
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>.
14   -->
15
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>2004-02-05</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">
28 ]>
29
30 <refentry>
31   <refentryinfo>
32     <address>
33       &manemail;
34     </address>
35     <author>
36       &manfirstname;
37       &mansurname;
38     </author>
39     <copyright>
40       <year>2002, 2003, 2004</year>
41       <holder>&manusername;</holder>
42     </copyright>
43     &mandate;
44   </refentryinfo>
45   <refmeta>
46     &manucpackage;
47
48     &mansection;
49   </refmeta>
50   <refnamediv>
51     <refname>&manpackage;</refname>
52
53     <refpurpose>manipulate the EFI Boot Manager</refpurpose>
54   </refnamediv>
55   <refsynopsisdiv>
56     <cmdsynopsis>
57       <command>&manpackage;</command>
58
59         <arg>-a</arg>
60         <arg>-A</arg>
61         <arg>-b <replaceable>XXXX</replaceable></arg>
62         <arg>-B <replaceable>XXXX</replaceable></arg>
63         <arg>-c</arg>
64         <arg>-d <replaceable>DISK</replaceable></arg>
65         <arg>-e <replaceable>1|3|-1</replaceable></arg>
66         <arg>-E <replaceable>NUM</replaceable></arg>
67         <arg>-g</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>
73         <arg>-N</arg>
74         <arg rep="repeat">-o <replaceable>XXXX</replaceable>,<replaceable>YYYY</replaceable>,<replaceable>ZZZZ</replaceable></arg>
75         <arg>-O</arg>
76         <arg>-p <replaceable>PART</replaceable></arg>
77         <arg>-q</arg>
78         <arg>-t <replaceable>seconds</replaceable></arg>
79         <arg>-T</arg>
80         <arg>-u</arg>
81         <arg>-U <replaceable>XXXX</replaceable></arg>
82         <arg>-v</arg>
83         <arg>-V</arg>
84         <arg>-w</arg>
85     </cmdsynopsis>
86   </refsynopsisdiv>
87   <refsect1>
88     <title>DESCRIPTION</title>
89
90     <para><command>&manpackage;</command> is a userspace application used to
91       modify the Intel Extensible Firmware Interface (EFI) Boot Manager.  This
92       application can create and destroy boot entries, change the boot order,
93       change the next running boot option, and more.</para>
94
95     <para>
96       Details on the EFI Boot Manager are available from the EFI
97       Specification, v1.02 or later, available from:
98       <ulink url="http://developer.intel.com"></ulink>
99     </para>
100     
101     <note>
102       <para>
103         &manpackage; requires that the kernel support access to EFI
104         non-volatile variables (through
105         <filename>/proc/efi/vars</filename> on 2.4 kernels,
106         <filename>/sys/firmware/efi/vars</filename> on 2.6 kernels).
107         <command>modprobe efivars</command> should do the trick.
108       </para>
109     </note>
110   </refsect1>
111   <refsect1>
112     <title>OPTIONS</title>
113
114     <para>The following is a list of options accepted by &manpackage;:</para>
115
116     <variablelist>
117       <varlistentry>
118         <term><option>-a</option> | <option>--active</option></term>
119         <listitem>
120           <para>Sets bootnum active</para>
121         </listitem>
122       </varlistentry>
123       <varlistentry>
124         <term><option>-A</option> | <option>--inactive</option></term>
125         <listitem>
126           <para>Sets bootnum inactive</para>
127         </listitem>
128       </varlistentry>
129       <varlistentry>
130         <term><option>-b</option> | <option>--bootnum</option> <replaceable>XXXX</replaceable></term>
131         <listitem>
132           <para>Modify Boot<replaceable>XXXX</replaceable> (hex)</para>
133         </listitem>
134       </varlistentry>
135       <varlistentry>
136         <term><option>-B</option> | <option>--delete-bootnum</option></term>
137         <listitem>
138           <para>Delete bootnum (hex)</para>
139         </listitem>
140       </varlistentry>
141       <varlistentry>
142         <term><option>-c</option> | <option>--create</option></term>
143         <listitem>
144           <para>Create new variable bootnum and add to bootorder</para>
145         </listitem>
146       </varlistentry>
147       <varlistentry>
148         <term><option>-d</option> | <option>--disk</option> <replaceable>DISK</replaceable></term>
149         <listitem>
150           <para>The disk containing the loader (defaults to 
151             <filename>/dev/sda</filename>)</para>
152         </listitem>
153       </varlistentry>
154       <varlistentry>
155         <term><option>-e</option> | <option>--edd</option> <replaceable>1|3|-1</replaceable></term>
156         <listitem>
157           <para>Force EDD 1.0 or 3.0 creation variables, or guess.</para>
158         </listitem>
159       </varlistentry>
160       <varlistentry>
161         <term><option>-E</option> | <option>--device</option> <replaceable>NUM</replaceable></term>
162         <listitem>
163           <para>EDD 1.0 device number (defaults to 0x80)</para>
164         </listitem>
165       </varlistentry>
166       <varlistentry>
167         <term><option>-g</option> | <option>--gpt</option></term>
168         <listitem>
169           <para>Force disk with invalid PMBR to be treated as GPT</para>
170         </listitem>
171       </varlistentry>
172       <varlistentry>
173         <term><option>-H</option> | <option>--acpi_hid</option> <replaceable>XXXX</replaceable></term>
174         <listitem>
175           <para>set the ACPI HID (used with <option>-i</option>)</para>
176         </listitem>
177       </varlistentry>
178       <varlistentry>
179         <term><option>-i</option> | <option>--iface</option> <replaceable>NAME</replaceable></term>
180         <listitem>
181           <para>create a netboot entry for the named interface</para>
182         </listitem>
183       </varlistentry>
184       <varlistentry>
185         <term><option>-l</option> | <option>--loader</option> <replaceable>NAME</replaceable></term>
186         <listitem>
187           <para>Specify a loader (defaults to <filename>\\elilo.efi</filename>)
188             </para>
189         </listitem>
190       </varlistentry>
191       <varlistentry>
192         <term><option>-L</option> | <option>--label</option> <replaceable>LABEL</replaceable></term>
193         <listitem>
194           <para>Boot manager display label (defaults to "Linux")</para>
195         </listitem>
196       </varlistentry>
197       <varlistentry>
198         <term><option>-n</option> | <option>--bootnext</option> <replaceable>XXXX</replaceable></term>
199         <listitem>
200           <para>Set BootNext to XXXX (hex)</para>
201         </listitem>
202       </varlistentry>
203       <varlistentry>
204         <term><option>-N</option> | <option>--delete-bootnext</option></term>
205         <listitem>
206           <para>Delete BootNext</para>
207         </listitem>
208       </varlistentry>
209       <varlistentry>
210         <term><option>-o</option> | <option>--bootorder</option> <replaceable>XXXX</replaceable>,<replaceable>YYYY</replaceable>,<replaceable>ZZZZ</replaceable></term>
211         <listitem>
212           <para>Explicitly set BootOrder (hex)</para>
213         </listitem>
214       </varlistentry>
215       <varlistentry>
216         <term><option>-O</option> | <option>--delete-bootorder</option></term>
217         <listitem>
218           <para>Delete BootOrder</para>
219         </listitem>
220       </varlistentry>
221       <varlistentry>
222         <term><option>-p</option> | <option>--part</option> <replaceable>PART</replaceable></term>
223         <listitem>
224           <para>Partition number containing the bootloader (defaults to 1)</para>
225         </listitem>
226       </varlistentry>
227       <varlistentry>
228         <term><option>-q</option> | <option>--quiet</option></term>
229         <listitem>
230           <para>Quiet mode - supresses output.</para>
231         </listitem>
232       </varlistentry>
233       <varlistentry>
234         <term><option>--test</option> <replaceable>filename</replaceable></term>
235         <listitem>
236           <para>Don't write to NVRAM, write to <replaceable>filename</replaceable>.</para>
237         </listitem>
238       </varlistentry>
239       <varlistentry>
240         <term><option>-t</option> | <option>--timeout</option> <replaceable>seconds</replaceable></term>
241         <listitem>
242           <para>Boot Manager timeout, in <replaceable>seconds</replaceable>.</para>
243         </listitem>
244       </varlistentry>
245       <varlistentry>
246         <term><option>-T</option> | <option>--delete-timeout</option></term>
247         <listitem>
248           <para>Delete Timeout variable.</para>
249         </listitem>
250       </varlistentry>
251       <varlistentry>
252         <term><option>-u</option> | <option>--unicode</option> | <option>--UCS-2</option> </term>
253         <listitem>
254           <para>pass extra command line arguments as UCS-2 (default is
255           ASCII)</para>
256         </listitem>
257       </varlistentry>
258       <varlistentry>
259         <term><option>-U</option> | <option>--acpi_uid</option> <replaceable>XXXX</replaceable></term>
260         <listitem>
261           <para>set the ACPI UID (used with <option>-i</option>)</para>
262         </listitem>
263       </varlistentry>
264       <varlistentry>
265         <term><option>-v</option> | <option>--verbose</option></term>
266         <listitem>
267           <para>Verbose mode - prints additional information</para>
268         </listitem>
269       </varlistentry>
270       <varlistentry>
271         <term><option>-V</option> | <option>--version</option></term>
272         <listitem>
273           <para>Just print version string and exit.</para>
274         </listitem>
275       </varlistentry>
276       <varlistentry>
277         <term><option>-w</option> | <option>--write-signature</option></term>
278         <listitem>
279           <para>write unique signature to the MBR if needed</para>
280         </listitem>
281       </varlistentry>
282     </variablelist>
283   </refsect1>
284
285   <refsect1>
286     <title>EXAMPLES</title>
287     <orderedlist>
288       <listitem>
289         <example>
290           <title>Displaying the current settings (must be root).</title>
291           
292           <para>
293             <computeroutput>
294   [root@localhost ~]# efibootmgr
295   BootCurrent: 0004
296   BootNext: 0003
297   BootOrder: 0004,0000,0001,0002,0003
298   Timeout: 30 seconds
299   Boot0000* Diskette Drive(device:0)
300   Boot0001* CD-ROM Drive(device:FF) 
301   Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)   
302   Boot0003* PXE Boot: MAC(00D0B7C15D91)               
303   Boot0004* Linux
304             </computeroutput>
305           </para>
306           <para>This shows:</para>
307           <itemizedlist>
308             <listitem>
309               <para>BootCurrent - the boot entry used to start the currently
310                  running system</para>
311             </listitem>
312             <listitem>
313               <para>
314                 BootOrder - the boot order as would appear in the boot manager.
315                 The boot manager tries to boot the first active entry in this
316                 list.  If unsuccessful, it tries the next entry, and so on.
317               </para>
318             </listitem>
319             <listitem>
320               <para>
321                 BootNext - the boot entry which is scheduled to be run on next
322                 boot.  This supercedes BootOrder for one boot only, and is
323                 deleted by the boot manager after first use.  This allows you
324                 to change the next boot behavior without changing BootOrder.
325               </para>
326             </listitem>
327             <listitem>
328               <para>
329                 Timeout - the time in seconds between when the boot
330                 manager appears on the screen until when it
331                 automatically chooses the startup value from BootNext
332                 or BootOrder.
333               </para>
334             </listitem>
335             <listitem>
336               <para>
337                 Five boot entries (0000 - 0004), along with the active/inactive
338                 flag (* means active) and the name displayed on the screen.
339               </para>
340             </listitem>
341           </itemizedlist>
342         </example>
343       </listitem>
344       <listitem>
345         <example>
346         <title>Creating a new boot option</title>
347         <para>
348           An OS installer would call <command>&manpackage; -c</command>.
349           This assumes that <filename>/boot/efi</filename> is your EFI System
350           Partition, and is mounted at <filename>/dev/sda1</filename>.  This
351           creates a new boot option, called "Linux", and puts it at the top of
352           the boot order list.  Options may be passed to modify the default
353           behavior.  The default OS Loader is <filename>elilo.efi</filename>.
354         </para>
355       </example>
356     </listitem>
357     <listitem>
358       <example>
359         <title>Changing the Boot Order</title>
360         <para>
361           Assuming the configuration in Example #1, 
362           <command>&manpackage; -o 3,4</command> could be called to specify
363           PXE boot first, then Linux boot.
364         </para>
365       </example>
366     </listitem>
367     <listitem>
368       <example>
369         <title>Changing the Boot Order for the Next Boot Only</title>
370         <para>
371           Assuming the configuration in Example #1, 
372           <command>&manpackage; -n 4</command> could be called to specify
373           that the Linux entry be taken on next boot.
374         </para>
375       </example>
376     </listitem>
377     <listitem>
378       <example>
379         <title>Deleting a boot option</title>
380         <para>
381           Assuming the configuration in Example #1, 
382           <command>&manpackage; -b 4 -B</command> could be called to delete
383           entry 4 and remove it from the BootOrder.
384         </para>
385       </example>
386     </listitem>
387     <listitem>
388       <example>
389         <title>Creating network boot entries</title>
390         <para>
391    A system administrator wants to create a boot option to network
392    boot (PXE).  Unfortunately, this requires knowing a little more
393    information about your system than can be easily found by
394    efibootmgr, so you've got to pass additional information - the ACPI
395    HID and UID values.  These can generally be found by using the EFI
396    Boot Manager (in the EFI environment) to create a network boot
397    entry, then using efibootmgr to print it verbosely.  Here's one example:
398    <computeroutput>
399      Boot003* Acpi(PNP0A03,0)/PCI(5|0)/Mac(00D0B7F9F510) \
400         ACPI(a0341d0,0)PCI(0,5)MAC(00d0b7f9f510,0)
401
402    In this case, the ACPI HID is "0A0341d0" and the UID is "0".
403    For the zx2000 gigE, the HID is "222F" and the UID is "500".
404    For the rx2000 gigE, the HID is "0002" and the UID is "100".
405    </computeroutput>
406    You create the boot entry with:
407    <command>efibootmgr -c -i eth0 -H 222F -U 500 -L netboot</command>
408         </para>
409       </example>
410     </listitem>
411    </orderedlist>
412   </refsect1>
413
414   <refsect1>
415     <title>BUGS</title>
416
417     <para>Please direct any bugs, features, patches, etc. to Matt Domsch
418       <email>Matt_Domsch@dell.com</email>.
419     </para>
420   </refsect1>
421
422   <refsect1>
423     <title>AUTHOR</title>
424       <para>This man page was generated by dann frazier &manemail; for the 
425         Debian GNU/Linux operating system, but may be used by others.</para>
426   </refsect1>
427
428   <refsect1>
429     <title>SEE ALSO</title>
430
431     <para>elilo(1)</para>
432   </refsect1>
433 </refentry>
434
435 <!-- Keep this comment at the end of the file
436 Local variables:
437 mode: sgml
438 sgml-omittag:t
439 sgml-shorttag:t
440 sgml-minimize-attributes:nil
441 sgml-always-quote-attributes:t
442 sgml-indent-step:2
443 sgml-indent-data:t
444 sgml-parent-document:nil
445 sgml-default-dtd-file:nil
446 sgml-exposed-tags:nil
447 sgml-local-catalogs:nil
448 sgml-local-ecat-files:nil
449 End:
450 -->