You are not logged in.

#1 2023-08-19 17:31:36

nicehand90210
Member
Registered: 2022-03-24
Posts: 31

"Linux boot manager" appears multiple times in laptop's boot order

Every time I install a new system using this laptop (e.g. to an external device), a new instance of "Linux boot manager" gets added to the top of the laptop's boot order list. When I remove the external media, they persist. The "Linux boot managers" apparently each refer to a system that does or once did exist, but I have no useful information about them. It screws with my ability to set the boot order. Can I delete these? Are they important. Can I delete all but one? Will this fuck things up?

Thanks.

Offline

#2 2023-08-19 17:35:36

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,726

Re: "Linux boot manager" appears multiple times in laptop's boot order

When you're installing your bootloader/boot manager, it should have an option to not add an nvram entry.

Yes, you can delete the ones you aren't using. See efibootmgr.

Offline

#3 2023-08-19 21:11:39

nicehand90210
Member
Registered: 2022-03-24
Posts: 31

Re: "Linux boot manager" appears multiple times in laptop's boot order

Thanks that helps, but I still I'm still running into problems. First, would it hurt to refuse to add an nvram entry every time when installing a bootloader to a new system? I want my boot order to be determined explicitly by the order I set in BIOS, like "HDD this" or USB that", so I KNOW what I'm setting the order of. Second, and related, I run `bootctl status' and get this:

System:
      Firmware: UEFI 2.31 (Lenovo 0.8832)
 Firmware Arch: x64
   Secure Boot: disabled (disabled)
  TPM2 Support: firmware only, driver unavailable
  Boot into FW: supported

Current Boot Loader:
      Product: systemd-boot 253.2-2-arch
     Features: ✓ Boot counting
               ✓ Menu timeout control
               ✓ One-shot menu timeout control
               ✓ Default entry control
               ✓ One-shot entry control
               ✓ Support for XBOOTLDR partition
               ✓ Support for passing random seed to OS
               ✓ Load drop-in drivers
               ✓ Support Type #1 sort-key field
               ✓ Support @saved pseudo-entry
               ✓ Support Type #1 devicetree field
               ✗ Enroll SecureBoot keys
               ✗ Retain SHIM protocols
               ✓ Boot loader sets ESP information
          ESP: /dev/disk/by-partuuid/a87cdbea-a766-467a-bb97-28c69a73aaf7
         File: └─/EFI/systemd/systemd-bootx64.efi

Random Seed:
 System Token: set

Boot Loaders Listed in EFI Variables:
        Title: Linux Boot Manager
           ID: 0x0019
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/a5974c4a-e350-49ab-88f2-66264abc77d9
         File: └─/EFI/systemd/systemd-bootx64.efi

        Title: Linux Boot Manager
           ID: 0x0018
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/a87cdbea-a766-467a-bb97-28c69a73aaf7
         File: └─/EFI/systemd/systemd-bootx64.efi

        Title: Linux Boot Manager
           ID: 0x0017
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/4db47424-965d-4d44-a8e3-5ac8bec62c33
         File: └─/EFI/systemd/systemd-bootx64.efi

        Title: Windows Boot Manager
           ID: 0x0016
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/b51881c2-5383-4a4e-a8df-ab6c726720f8
         File: └─/EFI/Microsoft/Boot/bootmgfw.efi

None of the listed partuuids matches the partuuid of the system I'm currently running (root is /dev/sda3), as shown by `blkid':

/dev/sda2: UUID="C45E-A884" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="esp" PARTUUID="a87cdbea-a766-467a-bb97-28c69a73aaf7"
/dev/sda3: UUID="f466afcd-9487-4745-9d9a-b3e4335e650f" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="primary" PARTUUID="df96ff27-f188-4c1e-bd95-a378a331a86a"
/dev/sda1: PARTLABEL="bios_boot" PARTUUID="f3aac9b3-e00d-417d-96bc-1b4762c5887b

…and there are only three "Linux Boot Manager" entries in my BIOS boot order list anyway.

I don't know if this is relevant, but running 'bootctl status' also gives me this error:

Couldn't find EFI system partition. It is recommended to mount it to /boot or /efi.
Alternatively, use --esp-path= to specify path to mount point.

…even though I'm successfully running a UEFI system with my esp partition mounted to /boot.

`ls /boot':

EFI/  grub/  initramfs-linux-fallback.img*  initramfs-linux.img*  loader/  vmlinuz-linux*

So I don't know WHICH "Linux Boot Manager" I'm using or if I'm even using any of them.

I'm pretty confused. Again, would it not hurt to just delete all the "Linux Boot Manager" entries and not add any in the future?

Last edited by nicehand90210 (2023-08-19 21:13:12)

Offline

#4 2023-08-19 22:47:34

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,726

Re: "Linux boot manager" appears multiple times in laptop's boot order

Yes, it could very well hurt, in that you may not be able to boot, NVRAM entries/UEFI variables are what tell the firmware what executable to run. See the boot manager entries part of https://www.happyassassin.net/posts/201 … work-then/

But again, see efibootmgr. It'll even tell you what entry was used for the current boot.

Of course none of the PARTUUIDs match your root partition, the firmware can't read that partition. It's reading the ESP.

Last edited by Scimmia (2023-08-19 22:53:26)

Offline

#5 2023-08-20 21:32:20

obelisk
Member
From: Germany
Registered: 2021-01-10
Posts: 76

Re: "Linux boot manager" appears multiple times in laptop's boot order

Hi,
(A) First some generally stuff:
Use efibootmgr to see which entries has your system.
Compare the entries with blkid, check the PARTUUID, which is different to UUID.

efiboormgr lists Boot0000,  Boot0001, Boot002, ect. Note also the * behind them.
Note also the line BootOrder.
You can change the Bootorder. For example different order

efibootmgr --bootorder 0000,0005,0003,0002,0004 --verbose

You can also use only one or two entries

efibootmgr --bootorder 0001,0000 --verbose

You canl also delete an entry,

efibootmgr -B -b 000X          #the X for your number
...or...
efibootmgr -B -L NAME_OF_YOUR_ENTRY

(B) Now,
when you uninstall all your Linux Boot Manager entries, you won't be able to boot. You should let the one entry, which from you are booting. Which means, check the PARTUUID in efibootmgr and blkid. But read first all to end of this post.

(C) You wrote
Couldn't find EFI system partition. It is recommended to mount it to /boot or /efi
I hope the drive is GPT and /dev/sda2 partitioned with code ef00. You can check this with

> gdisk /dev/sda
p
q
>

(D) Ok, next point....your /dev/sda2 looks like the EFI/ESP FAT32 partition. But what is the /dev/sda1 ? Here I'm little bit confused. Because the /dev/sda2 should be mounted to your /boot in /etc/fstab. The ESP/EFI FAT32 partition is the /boot.

(E) Next, Linux Boot Manager is the entry for systemd-boot: https://wiki.archlinux.org/title/systemd-boot
Check your folder /boot/loader/entries, where your systemd-boot entries should be. For example, my looks like that:

> cat /boot/loader/entries/arch.conf 
title   Archlinux
linux   /vmlinuz-linux
initrd  /amd-ucode.img
initrd  /initramfs-linux.img
options root=UUID=c8f8170f-86f7-44fd-ac42-1f9f4ace7a68  rw loglevel=2 amd_pstate=passive lang=de locale=de_DE.UTF-8
>

Here I say systemd-boot that my / is not on found at /dev/sdaX or /dev/nvme0n1pX. I use the UUID instead. This fits better, when for example the drive is not more detected as /dev/sda, when connecting or changing some drives in my desktop PC.
Check also the default:

> cat /boot/loader/loader.conf 
default arch.conf
timeout 0
console-mode max
  #console-mode:
  #0	Standard UEFI 80x25 mode
  #1	80x50 mode, not supported by all devices
  #2	the first non-standard mode provided by the device firmware, if any
  #auto	Pick a suitable mode automatically using heuristics
  #max	Pick the highest-numbered available mode
  #keep	Keep the mode selected by firmware (the default)
>

(F) As i understand it, you have multiple linux boot manager entries due to multiple arch installation attempts. I think you should check from which are you booting, and then deleting the other Linux Boot Manager which you don't need with efibootmgr

Offline

#6 2023-08-21 15:30:24

nicehand90210
Member
Registered: 2022-03-24
Posts: 31

Re: "Linux boot manager" appears multiple times in laptop's boot order

Thanks obelisk. I've identified the efibootmgr entry that my current (actually existing) system is booted into, and I'll delete the two others. Though my `efibootmgr' output is a mess, I'll post it anyway:

BootCurrent: 0018
Timeout: 2 seconds
BootOrder: 0019,0018,0017,0016,0007,0008,0009,000A,000B,000C,000D,000E,0014,0015
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  MEBx Hot Key	FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0007* USB CD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot0008* USB FDD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot0009* ATAPI CD0	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35405)
Boot000A* ATA HDD0	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f600)
Boot000B* ATA HDD1:	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f605)
Boot000C* ATA HDD2	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f604)
Boot000D* USB HDD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot000E* PCI LAN	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot000F* IDER BOOT CDROM	PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,1,0)
Boot0010* IDER BOOT Floppy	PciRoot(0x0)/Pci(0x16,0x2)/Ata(0,0,0)
Boot0011* ATA HDD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0012* All CD:	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot0013* PCI LAN	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot0014  Other CD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)
Boot0015  Other HDD	VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
Boot0016* Windows Boot Manager	HD(1,GPT,b51881c2-5383-4a4e-a8df-ab6c726720f8,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d00000061000100000010000000040000007fff0400
Boot0017* Linux Boot Manager	HD(2,GPT,4db47424-965d-4d44-a8e3-5ac8bec62c33,0x1000,0x100000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0018* Linux Boot Manager	HD(2,GPT,a87cdbea-a766-467a-bb97-28c69a73aaf7,0x1000,0x100000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0019* Linux Boot Manager	HD(2,GPT,a5974c4a-e350-49ab-88f2-66264abc77d9,0x1000,0x100000)/File(\EFI\systemd\systemd-bootx64.efi)

Ignoring the millions of entries before the "Linux Boot Manager" that are convoluting the list (USB CD?? IDER BOOT FLOPPY?? Can I delete these too?), I'll delete Boot0017 and Boot0019. For the record, it rather annoys me that Boot0019 (whatever it is) is taking priority on the list, but it isn't interfering with anyway. Maybe it was put there when I recently installed Arch onto an external HDD using this computer. I should make sure to prevent it from being added to the list any time I do that in the future right?

obelisk wrote:

Ok, next point....your /dev/sda2 looks like the EFI/ESP FAT32 partition. But what is the /dev/sda1 ? Here I'm little bit confused. Because the /dev/sda2 should be mounted to your /boot in /etc/fstab. The ESP/EFI FAT32 partition is the /boot.

There's no problem here. I install an MBR boot partition on all my systems, and that's /dev/sda1.

Check your folder /boot/loader/entries, where your systemd-boot entries should be. For example, my looks like that:

No problem here either. I've copied/edited my /boot/loader/entries/arch.conf file many times:

title	Arch Linux
linux	/vmlinuz-linux
initrd	/initramfs-linux.img
options	root=UUID=f466afcd-9487-4745-9d9a-b3e4335e650f rw

Offline

#7 2023-08-21 18:29:43

obelisk
Member
From: Germany
Registered: 2021-01-10
Posts: 76

Re: "Linux boot manager" appears multiple times in laptop's boot order

efibootmgr
Uhh... many entries. Do you have legacy-boot-options enabled in bios? Or "CSM"? It looks like that, because you have ATA HDD or FDD (floppy) entries. I have disabled legacy + CSM on my system and use only UEFI Booting options. Maybe it helps you, my output looks this:

> efibootmgr 
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0003,0002
Boot0000* Linux Boot Manager	HD(1,GPT,da64ffe6-2a55-48df-89d1-bc94504afc91,0x800,0x100000)/File(\EFI\SYSTEMD\SYSTEMD-BOOTX64.EFI)
Boot0002* UEFI:Removable Device	BBS(130,,0x0)
Boot0003  UEFI OS	HD(1,GPT,da64ffe6-2a55-48df-89d1-bc94504afc91,0x800,0x100000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f
>

Your question if you can delete it... it you want it, yes. I have an ASRock Mainboard. In the past I deleted all entries which I doesn't need (also removeable USB and CD/DVD). But this will be added again when setting the boot devices / boot order in UEFI-Bios. I'm sure this will happen on your system, too.

Alternatively you can just deactivate them by editing the boot-order. But check first the Bootorder in UEFI-Bios, if you can already disable them there, disable what you don't need/want.
And then, you can check etibootmgr again. Your current boot order...

...
BootCurrent: 0018
BootOrder: 0019,0018,0017,0016,0007,0008,0009,000A,000B,000C,000D,000E,0014,0015
...

...shows me that you have successfully bootet 0018. You can set bootorder for example:

efibootmgr --bootorder 0018,0016   --verbose

to have only two entries.

enter UEFI-bios
I don't know if you know that, instead pressing keys on keyboard you can also reboot your PC and enter Bios directly with:

systemctl reboot --firmware-setup

microcode
Another point about your /boot/loader/entries/arch.conf. It loks that you don't use microcode update of your CPU. Depending if you use an Intel or AMD CPU, I think its recommended to add microcode:

pacman -S intel-ucode    #for Intel-CPU
pacman -S amd-ucode    #for Amd-CPU

and add in your /boot/loader/entries/arch.conf the line, similar to my one from prior post.

initrd  /intel-ucode.img    #for intel microcode
initrd  /amd-ucode.img    #for amd microcode

you can see if loaded

dmesg | grep -i microcode

If you want read more: https://wiki.archlinux.org/title/microcode

Offline

Board footer

Powered by FluxBB