Imported Debian patch 0.5.3-1
[debian/efibootmgr] / src / man / man8 / efibootmgr.8.docbook
1 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2
3 <!-- This manpage was compiled by dann frazier <email>dannf@debian.org</email>,
4      and was based on an example constructed by Colin Watson
5      <email>cjwatson@debian.org</email>, which was based on a man page template
6      provided by Tom Christiansen <email>tchrist@jhereg.perl.com</email>
7      and a DocBook man page example by Craig Small
8      <email>csmall@debian.org</email>.
9
10      The content was mostly taken from the efibootmgr README file in the
11      Debian package, which was written by Matt Domsch
12      <email>Matt_Domsch@dell.com</email>.
13   -->
14
15   <!-- Fill in the various UPPER CASE things here. -->
16   <!ENTITY manfirstname "<firstname>dann</firstname>">
17   <!ENTITY mansurname   "<surname>frazier</surname>">
18   <!-- Please adjust the date whenever revising the manpage. -->
19   <!ENTITY mandate      "<date>2005-08-11</date>">
20   <!-- SECTION should be 1-8, maybe with subsection. Other parameters are
21        allowed: see man(7), man(1). -->
22   <!ENTITY mansection   "<manvolnum>8</manvolnum>">
23   <!ENTITY manemail     "<email>dannf@debian.org</email>">
24   <!ENTITY manusername  "dann frazier">
25   <!ENTITY manucpackage "<refentrytitle>EFIBOOTMGR</refentrytitle>">
26   <!ENTITY manpackage   "efibootmgr">
27 ]>
28
29 <refentry>
30   <refentryinfo>
31     <address>
32       &manemail;
33     </address>
34     <author>
35       &manfirstname;
36       &mansurname;
37     </author>
38     <copyright>
39       <year>2002, 2003, 2004</year>
40       <holder>&manusername;</holder>
41     </copyright>
42     &mandate;
43   </refentryinfo>
44   <refmeta>
45     &manucpackage;
46
47     &mansection;
48   </refmeta>
49   <refnamediv>
50     <refname>&manpackage;</refname>
51
52     <refpurpose>manipulate the EFI Boot Manager</refpurpose>
53   </refnamediv>
54   <refsynopsisdiv>
55     <cmdsynopsis>
56       <command>&manpackage;</command>
57
58         <arg>-a</arg>
59         <arg>-A</arg>
60         <arg>-b <replaceable>XXXX</replaceable></arg>
61         <arg>-B <replaceable>XXXX</replaceable></arg>
62         <arg>-c</arg>
63         <arg>-d <replaceable>DISK</replaceable></arg>
64         <arg>-e <replaceable>1|3|-1</replaceable></arg>
65         <arg>-E <replaceable>NUM</replaceable></arg>
66         <arg>-g</arg>
67         <arg>-H <replaceable>XXXX</replaceable></arg>
68         <arg>-i <replaceable>NAME</replaceable></arg>
69         <arg>-l <replaceable>NAME</replaceable></arg>
70         <arg>-L <replaceable>LABEL</replaceable></arg>
71         <arg>-n <replaceable>XXXX</replaceable></arg>
72         <arg>-N</arg>
73         <arg rep="repeat">-o <replaceable>XXXX</replaceable>,<replaceable>YYYY</replaceable>,<replaceable>ZZZZ</replaceable></arg>
74         <arg>-O</arg>
75         <arg>-p <replaceable>PART</replaceable></arg>
76         <arg>-q</arg>
77         <arg>-t <replaceable>seconds</replaceable></arg>
78         <arg>-T</arg>
79         <arg>-u</arg>
80         <arg>-U <replaceable>XXXX</replaceable></arg>
81         <arg>-v</arg>
82         <arg>-V</arg>
83         <arg>-w</arg>
84         <arg>-@ <replaceable>file</replaceable></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       <varlistentry>
283         <term><option>-@</option> |
284         <option>--append-binary-args</option>
285           </term>
286         <listitem>
287           <para>append extra variable args from file (use - to read
288         from stdin).  Data in file is appended as command line
289         arguments to the boot loader command, with no modification to
290         the data, so you can pass any binary or text data necessary.</para>
291         </listitem>
292       </varlistentry>
293     </variablelist>
294
295   </refsect1>
296
297   <refsect1>
298     <title>EXAMPLES</title>
299     <orderedlist>
300       <listitem>
301         <example>
302           <title>Displaying the current settings (must be root).</title>
303           
304           <para>
305             <computeroutput>
306   [root@localhost ~]# efibootmgr
307   BootCurrent: 0004
308   BootNext: 0003
309   BootOrder: 0004,0000,0001,0002,0003
310   Timeout: 30 seconds
311   Boot0000* Diskette Drive(device:0)
312   Boot0001* CD-ROM Drive(device:FF) 
313   Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)   
314   Boot0003* PXE Boot: MAC(00D0B7C15D91)               
315   Boot0004* Linux
316             </computeroutput>
317           </para>
318           <para>This shows:</para>
319           <itemizedlist>
320             <listitem>
321               <para>BootCurrent - the boot entry used to start the currently
322                  running system</para>
323             </listitem>
324             <listitem>
325               <para>
326                 BootOrder - the boot order as would appear in the boot manager.
327                 The boot manager tries to boot the first active entry in this
328                 list.  If unsuccessful, it tries the next entry, and so on.
329               </para>
330             </listitem>
331             <listitem>
332               <para>
333                 BootNext - the boot entry which is scheduled to be run on next
334                 boot.  This supercedes BootOrder for one boot only, and is
335                 deleted by the boot manager after first use.  This allows you
336                 to change the next boot behavior without changing BootOrder.
337               </para>
338             </listitem>
339             <listitem>
340               <para>
341                 Timeout - the time in seconds between when the boot
342                 manager appears on the screen until when it
343                 automatically chooses the startup value from BootNext
344                 or BootOrder.
345               </para>
346             </listitem>
347             <listitem>
348               <para>
349                 Five boot entries (0000 - 0004), along with the active/inactive
350                 flag (* means active) and the name displayed on the screen.
351               </para>
352             </listitem>
353           </itemizedlist>
354         </example>
355       </listitem>
356       <listitem>
357         <example>
358         <title>Creating a new boot option</title>
359         <para>
360           An OS installer would call <command>&manpackage; -c</command>.
361           This assumes that <filename>/boot/efi</filename> is your EFI System
362           Partition, and is mounted at <filename>/dev/sda1</filename>.  This
363           creates a new boot option, called "Linux", and puts it at the top of
364           the boot order list.  Options may be passed to modify the default
365           behavior.  The default OS Loader is <filename>elilo.efi</filename>.
366         </para>
367       </example>
368     </listitem>
369     <listitem>
370       <example>
371         <title>Changing the Boot Order</title>
372         <para>
373           Assuming the configuration in Example #1, 
374           <command>&manpackage; -o 3,4</command> could be called to specify
375           PXE boot first, then Linux boot.
376         </para>
377       </example>
378     </listitem>
379     <listitem>
380       <example>
381         <title>Changing the Boot Order for the Next Boot Only</title>
382         <para>
383           Assuming the configuration in Example #1, 
384           <command>&manpackage; -n 4</command> could be called to specify
385           that the Linux entry be taken on next boot.
386         </para>
387       </example>
388     </listitem>
389     <listitem>
390       <example>
391         <title>Deleting a boot option</title>
392         <para>
393           Assuming the configuration in Example #1, 
394           <command>&manpackage; -b 4 -B</command> could be called to delete
395           entry 4 and remove it from the BootOrder.
396         </para>
397       </example>
398     </listitem>
399     <listitem>
400       <example>
401         <title>Creating network boot entries</title>
402         <para>
403    A system administrator wants to create a boot option to network
404    boot (PXE).  Unfortunately, this requires knowing a little more
405    information about your system than can be easily found by
406    efibootmgr, so you've got to pass additional information - the ACPI
407    HID and UID values.  These can generally be found by using the EFI
408    Boot Manager (in the EFI environment) to create a network boot
409    entry, then using efibootmgr to print it verbosely.  Here's one example:
410    <computeroutput>
411      Boot003* Acpi(PNP0A03,0)/PCI(5|0)/Mac(00D0B7F9F510) \
412         ACPI(a0341d0,0)PCI(0,5)MAC(00d0b7f9f510,0)
413
414    In this case, the ACPI HID is "0A0341d0" and the UID is "0".
415    For the zx2000 gigE, the HID is "222F" and the UID is "500".
416    For the rx2000 gigE, the HID is "0002" and the UID is "100".
417    </computeroutput>
418    You create the boot entry with:
419    <command>efibootmgr -c -i eth0 -H 222F -U 500 -L netboot</command>
420         </para>
421       </example>
422     </listitem>
423    </orderedlist>
424   </refsect1>
425
426   <refsect1>
427     <title>BUGS</title>
428
429     <para>Please direct any bugs, features, patches, etc. to Matt Domsch
430       <email>Matt_Domsch@dell.com</email>.
431     </para>
432   </refsect1>
433
434   <refsect1>
435     <title>AUTHOR</title>
436       <para>This man page was generated by dann frazier &manemail; for the 
437         Debian GNU/Linux operating system, but may be used by others.</para>
438   </refsect1>
439
440   <refsect1>
441     <title>SEE ALSO</title>
442
443     <para>elilo(1)</para>
444   </refsect1>
445 </refentry>
446
447 <!-- Keep this comment at the end of the file
448 Local variables:
449 mode: sgml
450 sgml-omittag:t
451 sgml-shorttag:t
452 sgml-minimize-attributes:nil
453 sgml-always-quote-attributes:t
454 sgml-indent-step:2
455 sgml-indent-data:t
456 sgml-parent-document:nil
457 sgml-default-dtd-file:nil
458 sgml-exposed-tags:nil
459 sgml-local-catalogs:nil
460 sgml-local-ecat-files:nil
461 End:
462 -->