You are not logged in.

#1 2023-04-17 11:45:35

arch_fuz
Member
Registered: 2015-01-31
Posts: 34

GRUB 2 | Determine Boot Loader Used

Hi.
I have two boot loaders installed on my system:
- /boot/efi/EFI/GRUB/grubx64.efi
- /boot/efi/EFI/boot/bootx64.efi

Is there a way to determine which boot loader has been used to start the system, maybe from efivars? On boot there is no choice presented, I assume it is because firmware was able to dectect one unique entry only.

This is the output from efibootmgr:

BootCurrent: 0003
Timeout: 1 seconds
BootOrder: 0003,0007,0008,000A,0002,0001,0004,0005
Boot0001* UEFI:CD/DVD Drive     BBS(129,,0x0)
Boot0002* UEFI: Built-in EFI Shell      VenMedia(5023b95c-db26-429b-a648-bd47664c8012)0000424f
Boot0003* UEFI: Samsung SSD 860 EVO 250GB, Partition 1  PciRoot(0x0)/Pci(0x13,0x0)/Sata(1,65535,0)/HD(1,GPT,84d60f5c-2dc1-0e4f-a217-97c58281248c,0x800,0xfa000)0000424f
Boot0004* UEFI:Removable Device BBS(130,,0x0)
Boot0005* UEFI:Network Device   BBS(131,,0x0)
Boot0007* UEFI: Samsung SSD 860 EVO 250GB, Partition 1  PciRoot(0x0)/Pci(0x13,0x0)/Sata(1,65535,0)/HD(1,GPT,84d60f5c-2dc1-0e4f-a217-97c58281248c,0x800,0xfa000)0000424f
Boot0008* UEFI: Samsung SSD 860 EVO 250GB, Partition 1  PciRoot(0x0)/Pci(0x13,0x0)/Sata(1,65535,0)/HD(1,GPT,84d60f5c-2dc1-0e4f-a217-97c58281248c,0x800,0xfa000)0000424f
Boot000A* UEFI: Samsung SSD 860 EVO 250GB, Partition 1  PciRoot(0x0)/Pci(0x13,0x0)/Sata(1,65535,0)/HD(1,GPT,84d60f5c-2dc1-0e4f-a217-97c58281248c,0x800,0xfa000)0000424f

Thanks,
_fuz

Offline

#2 2023-04-17 13:22:53

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 22,110

Re: GRUB 2 | Determine Boot Loader Used

This output as posted shows that /boot/efi/EFI/boot/bootx64.efi is being booted. That is the fallback path and is booted when no explicit nvram entry exists - which doesn't - to boot the "proper" location. You likely originally ran grub-install, efibootmgr was unable to create a NVRAM entry for whatever reason (or you removed/detach the device at some point) and retried the install with the --removable flag which will populate esp/EFI/boot/bootx64.efi instead. If there was an entry for the GRUBx64.efi path it would actually be noted as GRUB in the efibootmgr output.

Last edited by V1del (2023-04-17 13:24:25)

Offline

#3 2023-04-17 17:49:25

arch_fuz
Member
Registered: 2015-01-31
Posts: 34

Re: GRUB 2 | Determine Boot Loader Used

V1del wrote:

If there was an entry for the GRUBx64.efi path it would actually be noted as GRUB in the efibootmgr output.

Would it be "GRUB" because of the name of the directory where the boot loader grubx64.efi is located? Or would it be "GRUB" because of the naming of the file? Or is this not related at all?

Thanks,
_fuz

Offline

#4 2023-04-17 19:32:39

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 22,110

Re: GRUB 2 | Determine Boot Loader Used

Technically neither, but by logistics of how grub-install works, it will create the folder GRUB based on the bootloader-id= you are passing to the command and it will also use that id to name the NVRAM entry it would normally generate. So it will behave like your first assessment but the fact that the folder is called that is a side effect of how grub-install sets this up, not a general hard rule.

Last edited by V1del (2023-04-17 19:34:03)

Offline

Board footer

Powered by FluxBB