From Mageia wiki
Jump to: navigation, search


Drakconf multiflag.png
Other languages
English ;
this page is a draft.
It requires improvements. If you want to improve it, simply log in and click on the Edit tab.

Please remove this {{Draft}}template, when you're sure the page is complete and correct.


View the other draft pages, or other pages to improve and maintain.

The efibootmgr application interacts with the UEFI firmware on the system, and is a popular tool to manipulate the EFI settings in order to create and manage boot entries that are capable of booting Linux (or other operating systems).

EFIbootmgr is not a boot loader

The efibootmgr application is not a boot loader. It is a tool that interacts with the EFI firmware of the system, which itself is acting as a boot loader. With the efibootmgr application, boot entries can be created, reshuffled and updated.

Configuration

The efibootmgr application does not require any configuration. All that is needed is to install it. It is installed by default when EFI-installing Mageia.

 $ rpm -qa | grep efibootmgr
 efibootmgr-0.11.0-3.mga5
 efibootmgr-debuginfo-0.11.0-3.mga5


It needs the EFI variables file system, which will also be available after an EFI-install:

 # mount | grep efivars
 efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)


If something went wrong, and it isn't mounted, it can be done manually with # mount -t efivarfs efivars /sys/firmware/efi/efivars

Managing EFI boot entries

Listing boot entries

To list the current boot entries, just use # efibootmgr. Use the --verbose (-v) option to get some additional information:


# efibootmgr -v BootCurrent: 0012 Timeout: 0 seconds BootOrder: 000B,0012,0008,0011 Boot0000 Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9) Boot0001 Boot Menu FvFile(126a762d-5758-4fca-8531-201a7f57f850) Boot0002 Diagnostic Splash Screen FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380) Boot0003 Lenovo Diagnostics FvFile(3f7e615b-0d45-4f80-88dc-26b234958560) Boot0004 Startup Interrupt Menu FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479) Boot0005 Rescue and Recovery FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5) Boot0006* USB CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55) Boot0007* USB FDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49) Boot0008* ATAPI CD0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35401) Boot0009* ATA HDD0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600) Boot000A* ATA HDD1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f602) Boot000B* USB HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803) Boot000C* PCI LAN VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803) Boot000D* ATAPI CD1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35404) Boot000E* ATA HDD2 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f604) Boot000F Other CD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406) Boot0010 Other HDD VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606) Boot0011* Windows Boot Manager HD(2,1f4800,82000,74a19d5c-6445-4e6a-8fb0-fe7e46e5b33c)File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...yk............... Boot0012* mageia HD(2,1f4800,82000,74a19d5c-6445-4e6a-8fb0-fe7e46e5b33c)File(\EFI\mageia\grubx64.efi)

Creating a boot entry

To create an EFI boot entry, a couple of arguments are passed to efibootmgr:


  • --create (-c) to create a new entry
  • --part (-p) followed by the partition number on which the EFI System Partition is hosted
  • --disk (-d) followed by the disk on which the EFI System Partition is hosted
  • --label (-L) followed by the label to use as the boot entry
  • --loader (-l) followed by the path of the EFI image to boot


Note:
The path of the EFI image to boot must use the backslash "\" instead of the slash "/" as path separator.


For instance:


efibootmgr -c -d /dev/sda -p 2 -L "mageia" -l "\EFI\mageia\grubx64.efi"

Deleting a boot entry

For example, to delete the boot entry 0006, the command is efibootmgr -b 0006 -B

Changing the BootOrder

First run efibootmgr to see which identifiers all efibootmgr entries have. If, in the example shown above in Efibootmgr#Listing boot entries, you want the system to first try booting the Mageia grubx64.efi bootloader, instead of first trying to boot from USB, and keep the rest the same, you have to first delete the current BootOrder with
efibootmgr -O
and then add the new BootOrder with efibootmgr -o 0012,000B,0008,0011

Choose what to boot only next time

If you do not want to permanently change the BootOrder, but only want, for instance, to boot one time from a DVD, you can do that with the -n option, like for the above mentioned example ("Boot0008* ATAPI CD0" is the DVD player, there):
efibootmgr -n 0008
The system will boot from DVD on next boot only.

Known issues

See: EFI: can no longer boot into Mageia, about Bug 14140: boot order settings lost when updating efibootmgr

More information (links)

https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#efibootmgr
https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/


This page was originally imported from http://wiki.gentoo.org/wiki/Efibootmgr, with CC BY-SA 3.0 license