Menu

Tree [0c4508] oreo-x86 android-x86-8.1-r1 android-x86-8.1-r2 android-x86-8.1-r3 android-x86-8.1-r4 android-x86-8.1-r5 android-x86-8.1-r6 /
 History

HTTPS access


File Date Author Commit
 src 2019-01-10 Chih-Wei Huang Chih-Wei Huang [0c4508] Android: inital porting of efibootmgr
 .gitignore 2018-04-09 Peter Jones Peter Jones [a5822a] Better scan makefiles
 .travis.yml 2018-04-11 Peter Jones Peter Jones [d35b51] Update travis to use some better build scripts
 AUTHORS 2017-12-26 Robert Bisewski Robert Bisewski [325d7d] Update docs for old URLs and general formatting.
 COPYING 2001-05-15 Matt Domsch Matt Domsch [cf4b5b] Initial revision
 INSTALL 2017-12-26 Robert Bisewski Robert Bisewski [325d7d] Update docs for old URLs and general formatting.
 MODULE_LICENSE_GPL2 2019-01-10 Chih-Wei Huang Chih-Wei Huang [0c4508] Android: inital porting of efibootmgr
 Make.coverity 2018-04-09 Peter Jones Peter Jones [a5822a] Better scan makefiles
 Make.defaults 2018-06-08 Peter Jones Peter Jones [1c1eb4] Make it easier to build with a devel branch of ...
 Make.deps 2015-08-04 Peter Jones Peter Jones [88f28c] Simplify directory structure.
 Make.rules 2017-05-09 Peter Jones Peter Jones [3c13c9] Add coverity make rules
 Make.scan-build 2018-04-09 Peter Jones Peter Jones [a5822a] Better scan makefiles
 Make.version 2018-06-10 Peter Jones Peter Jones [e06716] Bump version to 17
 Makefile 2018-04-09 Peter Jones Peter Jones [a5f886] Add bumpver in 'make archive'
 NOTICE 2019-01-10 Chih-Wei Huang Chih-Wei Huang [0c4508] Android: inital porting of efibootmgr
 README 2017-12-26 Robert Bisewski Robert Bisewski [325d7d] Update docs for old URLs and general formatting.
 README.md 2017-12-26 Robert Bisewski Robert Bisewski [325d7d] Update docs for old URLs and general formatting.
 TODO 2015-08-04 Peter Jones Peter Jones [88f28c] Simplify directory structure.
 efibootmgr.spec.in 2017-12-26 Robert Bisewski Robert Bisewski [325d7d] Update docs for old URLs and general formatting.

Read Me

This is efibootmgr, a Linux user-space application 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.

Details on the EFI Boot Manager are available from the EFI
Specification, v1.02 or above, available from: http://www.uefi.org

Note: efibootmgr requires that the kernel module efivars be loaded
prior to use. Running 'modprobe efivars' should do the trick.

usage: efibootmgr [options]
        -a | --active          sets bootnum active
        -A | --inactive        sets bootnum inactive
        -b | --bootnum XXXX    modify BootXXXX (hex)
        -B | --delete-bootnum  delete bootnum
        -c | --create          create new variable bootnum and add to bootorder
        -d | --disk disk       (defaults to /dev/sda) containing loader
        -e | --edd [1|3|-1]    force EDD 1.0 or 3.0 creation variables, or guess
        -E | --device num      EDD 1.0 device number (defaults to 0x80)
        -g | --gpt             force disk w/ invalid PMBR to be treated as GPT
        -i | --iface name      create a netboot entry for the named interface
        -l | --loader name     (defaults to \elilo.efi)
        -L | --label label     Boot manager display label (defaults to "Linux")
        -n | --bootnext XXXX   set BootNext to XXXX (hex)
        -N | --delete-bootnext delete BootNext
        -o | --bootorder XXXX,YYYY,ZZZZ,...     explicitly set BootOrder (hex)
        -O | --delete-bootorder   delete BootOrder
        -p | --part part          (defaults to 1) containing loader
        -q | --quiet              be quiet
        -t | --timeout seconds    Boot manager timeout
        -T | --delete-timeout     delete Timeout value
        -u | --unicode | --UCS-2  pass extra args as UCS-2 (default is ASCII)
        -v | --verbose            print additional information
        -V | --version            return version and exit
        -w | --write-signature    write unique sig to MBR if needed
        -@ | --append-binary-args append extra variable args from
                                  file (use - to read from stdin).


Typical usage:

Root can use it to display the current Boot Manager settings.

[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

This shows:
BootCurrent - the boot entry used to start the currently running
system.

BootOrder - the boot order as would appear in the boot manager. The
boot manager tries to boot the first active entry on this list. If
unsuccessful, it tries the next entry, and so on.

BootNext - the boot entry which is scheduled to be run on next boot.
This superceeds 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.

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.

Five boot entries (0000 - 0004), the active/inactive flag (* means
active), and the name displayed on the screen.

Alternative use cases could be as follows:

1) An OS installer would call 'efibootmgr -c'.  This assumes that
   /boot/efi is your EFI System Partition, and is mounted at /dev/sda1.
   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 elilo.efi.

2) A system administrator wants to change the boot order. She would
   call 'efibootmgr -o 3,4' to specify PXE boot first, then Linux
   boot.

3) A system administrator wants to change the boot order for the next
   boot only. She would call 'efibootmgr -n 4' to specify that the
   Linux entry be taken on next boot.

4) A system administrator wants to delete the Linux boot option from
   the menu. 'efibootmgr -b 4 -B' deletes entry 4 and removes it
   from BootOrder.

5) A system administrator wants to create a boot option to network
   boot (PXE).  You create the boot entry with:
   'efibootmgr -c -i eth0 -L netboot'

Please direct any bugs, features, patches, etc. to Peter Jones:

https://github.com/rhboot/efibootmgr
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.