.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "EFIBOOTMGR" "8" "11 August 2005" "" ""
.SH NAME
efibootmgr \- manipulate the EFI Boot Manager
.SH SYNOPSIS
\fBefibootmgr\fR [ \fB-a\fR ] [ \fB-A\fR ] [ \fB-b \fIXXXX\fB\fR ] [ \fB-B \fIXXXX\fB\fR ] [ \fB-c\fR ] [ \fB-d \fIDISK\fB\fR ] [ \fB-e \fI1|3|-1\fB\fR ] [ \fB-E \fINUM\fB\fR ] [ \fB-g\fR ] [ \fB-H \fIXXXX\fB\fR ] [ \fB-i \fINAME\fB\fR ] [ \fB-l \fINAME\fB\fR ] [ \fB-L \fILABEL\fB\fR ] [ \fB-n \fIXXXX\fB\fR ] [ \fB-N\fR ] [ \fB-o \fIXXXX\fB,\fIYYYY\fB,\fIZZZZ\fB\fR\fI ...\fR ] [ \fB-O\fR ] [ \fB-p \fIPART\fB\fR ] [ \fB-q\fR ] [ \fB-t \fIseconds\fB\fR ] [ \fB-T\fR ] [ \fB-u\fR ] [ \fB-U \fIXXXX\fB\fR ] [ \fB-v\fR ] [ \fB-V\fR ] [ \fB-w\fR ] [ \fB-@ \fIfile\fB\fR ]
.SH "DESCRIPTION"
.PP
\fBefibootmgr\fR is a userspace application used to
modify the Intel Extensible Firmware Interface (EFI) Boot Manager. This
application can create and destroy boot entries, change the boot order,
change the next running boot option, and more.
.PP
Details on the EFI Boot Manager are available from the EFI
Specification, v1.02 or later, available from:
.sp
.RS
.B "Note:"
efibootmgr requires that the kernel support access to EFI
non-volatile variables (through
\fI/proc/efi/vars\fR on 2.4 kernels,
\fI/sys/firmware/efi/vars\fR on 2.6 kernels).
\fBmodprobe efivars\fR should do the trick.
.RE
.SH "OPTIONS"
.PP
The following is a list of options accepted by efibootmgr:
.TP
\fB-a | --active\fR
Sets bootnum active
.TP
\fB-A | --inactive\fR
Sets bootnum inactive
.TP
\fB-b | --bootnum \fIXXXX\fB\fR
Modify Boot\fIXXXX\fR (hex)
.TP
\fB-B | --delete-bootnum\fR
Delete bootnum (hex)
.TP
\fB-c | --create\fR
Create new variable bootnum and add to bootorder
.TP
\fB-d | --disk \fIDISK\fB\fR
The disk containing the loader (defaults to
\fI/dev/sda\fR)
.TP
\fB-e | --edd \fI1|3|-1\fB\fR
Force EDD 1.0 or 3.0 creation variables, or guess.
.TP
\fB-E | --device \fINUM\fB\fR
EDD 1.0 device number (defaults to 0x80)
.TP
\fB-g | --gpt\fR
Force disk with invalid PMBR to be treated as GPT
.TP
\fB-H | --acpi_hid \fIXXXX\fB\fR
set the ACPI HID (used with \fB-i\fR)
.TP
\fB-i | --iface \fINAME\fB\fR
create a netboot entry for the named interface
.TP
\fB-l | --loader \fINAME\fB\fR
Specify a loader (defaults to \fI\\\\elilo.efi\fR)
.TP
\fB-L | --label \fILABEL\fB\fR
Boot manager display label (defaults to "Linux")
.TP
\fB-n | --bootnext \fIXXXX\fB\fR
Set BootNext to XXXX (hex)
.TP
\fB-N | --delete-bootnext\fR
Delete BootNext
.TP
\fB-o | --bootorder \fIXXXX\fB,\fIYYYY\fB,\fIZZZZ\fB\fR
Explicitly set BootOrder (hex)
.TP
\fB-O | --delete-bootorder\fR
Delete BootOrder
.TP
\fB-p | --part \fIPART\fB\fR
Partition number containing the bootloader (defaults to 1)
.TP
\fB-q | --quiet\fR
Quiet mode - supresses output.
.TP
\fB--test \fIfilename\fB\fR
Don't write to NVRAM, write to \fIfilename\fR\&.
.TP
\fB-t | --timeout \fIseconds\fB\fR
Boot Manager timeout, in \fIseconds\fR\&.
.TP
\fB-T | --delete-timeout\fR
Delete Timeout variable.
.TP
\fB-u | --unicode | --UCS-2 \fR
pass extra command line arguments as UCS-2 (default is
ASCII)
.TP
\fB-U | --acpi_uid \fIXXXX\fB\fR
set the ACPI UID (used with \fB-i\fR)
.TP
\fB-v | --verbose\fR
Verbose mode - prints additional information
.TP
\fB-V | --version\fR
Just print version string and exit.
.TP
\fB-w | --write-signature\fR
write unique signature to the MBR if needed
.TP
\fB-@ | --append-binary-args \fR
append extra variable args from file (use - to read
from stdin). Data in file is appended as command line
arguments to the boot loader command, with no modification to
the data, so you can pass any binary or text data necessary.
.SH "EXAMPLES"
.TP 3
1.
.SS "DISPLAYING THE CURRENT SETTINGS (MUST BE ROOT)."
.PP
[root@localhost ~]# efibootmgr
BootCurrent: 0004
BootNext: 0003
BootOrder: 0004,0000,0001,0002,0003
Timeout: 30 seconds
Boot0000* Diskette Drive(device:0)
Boot0001* CD-ROM Drive(device:FF)
Boot0002* Hard Drive(Device:80)/HD(Part1,Sig00112233)
Boot0003* PXE Boot: MAC(00D0B7C15D91)
Boot0004* Linux
.PP
This shows:
.RS
.TP 0.2i
\(bu
BootCurrent - the boot entry used to start the currently
running system
.TP 0.2i
\(bu
BootOrder - the boot order as would appear in the boot manager.
The boot manager tries to boot the first active entry in this
list. If unsuccessful, it tries the next entry, and so on.
.TP 0.2i
\(bu
BootNext - the boot entry which is scheduled to be run on next
boot. This supercedes BootOrder for one boot only, and is
deleted by the boot manager after first use. This allows you
to change the next boot behavior without changing BootOrder.
.TP 0.2i
\(bu
Timeout - the time in seconds between when the boot
manager appears on the screen until when it
automatically chooses the startup value from BootNext
or BootOrder.
.TP 0.2i
\(bu
Five boot entries (0000 - 0004), along with the active/inactive
flag (* means active) and the name displayed on the screen.
.RE
.TP 3
2.
.SS "CREATING A NEW BOOT OPTION"
.PP
An OS installer would call \fBefibootmgr -c\fR\&.
This assumes that \fI/boot/efi\fR is your EFI System
Partition, and is mounted at \fI/dev/sda1\fR\&. This
creates a new boot option, called "Linux", and puts it at the top of
the boot order list. Options may be passed to modify the default
behavior. The default OS Loader is \fIelilo.efi\fR\&.
.TP 3
3.
.SS "CHANGING THE BOOT ORDER"
.PP
Assuming the configuration in Example #1,
\fBefibootmgr -o 3,4\fR could be called to specify
PXE boot first, then Linux boot.
.TP 3
4.
.SS "CHANGING THE BOOT ORDER FOR THE NEXT BOOT ONLY"
.PP
Assuming the configuration in Example #1,
\fBefibootmgr -n 4\fR could be called to specify
that the Linux entry be taken on next boot.
.TP 3
5.
.SS "DELETING A BOOT OPTION"
.PP
Assuming the configuration in Example #1,
\fBefibootmgr -b 4 -B\fR could be called to delete
entry 4 and remove it from the BootOrder.
.TP 3
6.
.SS "CREATING NETWORK BOOT ENTRIES"
.PP
A system administrator wants to create a boot option to network
boot (PXE). Unfortunately, this requires knowing a little more
information about your system than can be easily found by
efibootmgr, so you've got to pass additional information - the ACPI
HID and UID values. These can generally be found by using the EFI
Boot Manager (in the EFI environment) to create a network boot
entry, then using efibootmgr to print it verbosely. Here's one example:
Boot003* Acpi(PNP0A03,0)/PCI(5|0)/Mac(00D0B7F9F510) \\
ACPI(a0341d0,0)PCI(0,5)MAC(00d0b7f9f510,0)
In this case, the ACPI HID is "0A0341d0" and the UID is "0".
For the zx2000 gigE, the HID is "222F" and the UID is "500".
For the rx2000 gigE, the HID is "0002" and the UID is "100".
You create the boot entry with:
\fBefibootmgr -c -i eth0 -H 222F -U 500 -L netboot\fR
.SH "BUGS"
.PP
Please direct any bugs, features, patches, etc. to Matt Domsch
\&.
.SH "AUTHOR"
.PP
This man page was generated by dann frazier for the
Debian GNU/Linux operating system, but may be used by others.
.SH "SEE ALSO"
.PP
elilo(1)