Efibootmgr not reflecting Bios boot order menu

Manjaro KDE is running really well on my Lenovo Thinkpad laptop.

I’d like to clean up efibbotmgr, it is full of “garbage entries”. My question is where all this “garbage” is coming from.

I understand, efibootmgr gets its information handed over in the “efi boot chain” from the maninboard bios.
With that as a given, I speculate the Lenovo Bios, at least firmware 1.48, must have an GUI invisible memory section that equals GUI visible Bios boot order menu plus all other entries in life of the laptop that were deleted and so no longer GUI visible.
Is that speculation true?
If so, how can I clean out that memory?

annex:

efibootmgr

BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,001C,0000,0001,0017,0018,0019,001A,001B,001D,001E,001F,0024
Boot0000* Windows Boot Manager  HD(1,MBR,0x0,0x723e14,0x2000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)57494e444f5753000100000088000000780000004200430044004f0042004a004500430054003d007b00390064006500610038003600320063002d0035006300640064002d0034006500370030002d0061006300630031002d006600330032006200330034003400640034003700390035007d0000003a2f0100000010000000040000007fff0400
Boot0001  ubuntu        HD(1,GPT,b1fddb88-61c6-4f64-90b3-e92eda96f79d,0x800,0x82000)/File(\EFI\ubuntu\shimx64.efi)
Boot0002* manjaro       HD(1,GPT,3ecc1a7d-3af6-2a40-8457-3985d680a570,0x1000,0x96000)/File(\EFI\manjaro\grubx64.efi)
Boot0010  Setup FvFile(721c8b66-426c-4e86-8e99-3457c46ab0b9)
Boot0011  Boot Menu     FvFile(126a762d-5758-4fca-8531-201a7f57f850)
Boot0012  Diagnostic Splash Screen      FvFile(a7d8d9a6-6ab0-4aeb-ad9d-163e59a7a380)
Boot0013  Lenovo Diagnostics    FvFile(3f7e615b-0d45-4f80-88dc-26b234958560)
Boot0014  Startup Interrupt Menu        FvFile(f46ee6f4-4785-43a3-923d-7f786c3c8479)
Boot0015  Rescue and Recovery   FvFile(665d3f60-ad3e-4cad-8e26-db46eee9f1b5)
Boot0016  MEBx Hot Key  FvFile(ac6fd56a-3d41-4efd-a1b9-870293811a28)
Boot0017* USB CD        VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,86701296aa5a7848b66cd49dd3ba6a55)
Boot0018* USB FDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,6ff015a28830b543a8b8641009461e49)
Boot0019* NVMe1 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a401)
Boot001A* NVMe0 VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,001c199932d94c4eae9aa0b6e98eb8a400)
Boot001B* ATA HDD0      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f602)
Boot001C* USB HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,33e821aaaf33bc4789bd419f88c50803)
Boot001D  PCI LAN       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)
Boot001E  Other CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a35406)
Boot001F  Other HDD     VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f606)
Boot0020* USBR BOOT CDROM       PciRoot(0x0)/Pci(0x14,0x0)/USB(11,1)
Boot0021* USBR BOOT Floppy      PciRoot(0x0)/Pci(0x14,0x0)/USB(11,0)
Boot0022* ATA HDD       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,91af625956449f41a7b91f4f892ab0f6)
Boot0023* ATAPI CD      VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,aea2090adfde214e8b3a5e471856a354)
Boot0024* PCI LAN       VenMsg(bc7838d2-0f82-4d60-8316-c068ee79d25b,78a84aaf2b2afc4ea79cf5cc8f3d3803)

lsblk -f

NAME                                            FSTYPE      FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda
nvme0n1
├─nvme0n1p1                                     vfat        FAT32       E44A-39F9                             298,9M     0% /boot/efi
└─nvme0n1p2                                     crypto_LUKS 1           d74b9c8d-9bb0-4945-80a2-b917d8143295
  └─luks-d74b9c8d-9bb0-4945-80a2-b917d8143295   ext4        1.0         6c159802-2769-4409-a0cb-434bed39f4e6  424,3G    49% /

sudo parted -l

Model: WD_BLACK SN770 1TB (nvme)
Disk /dev/nvme0n1: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

sudo inxi --admin --verbosity=7 --filter --no-host --width

System:
  Kernel: 6.6.8-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.6-x86_64
    root=UUID=6c159802-2769-4409-a0cb-434bed39f4e6 rw quiet
    cryptdevice=UUID=d74b9c8d-9bb0-4945-80a2-b917d8143295:luks-d74b9c8d-9bb0-4945-80a2-b917d8143295
    root=/dev/mapper/luks-d74b9c8d-9bb0-4945-80a2-b917d8143295 splash
    udev.log_priority=3
  Desktop: KDE Plasma v: 5.27.10 tk: Qt v: 5.15.11 wm: kwin_x11 dm: SDDM
    Distro: Manjaro Linux base: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 20L6S29E02 v: ThinkPad T480
    serial: <filter> Chassis: type: 10 serial: <filter>
  Mobo: LENOVO model: 20L6S29E02 v: SDK0J40697 WIN serial: <filter>
    UEFI: LENOVO v: N24ET71W (1.46 ) date: 09/29/2022
Battery:
  ID-1: BAT0 charge: 4.3 Wh (48.9%) condition: 8.8/23.9 Wh (37.0%) power: 6.7 W
    volts: 11.1 min: 11.4 model: LGC 01AV489 type: Li-poly serial: <filter>
    status: discharging cycles: 457
  ID-2: BAT1 charge: 0.8 Wh (5.6%) condition: 14.3/23.9 Wh (59.9%)
    volts: 11.2 min: 11.4 model: LGC 01AV490 type: Li-poly serial: <filter>
    status: not charging cycles: 554
Memory:
  System RAM: total: 24 GiB available: 23.23 GiB used: 3.27 GiB (14.1%)
    igpu: 32 MiB
  Array-1: capacity: 32 GiB slots: 2 modules: 2 EC: None
    max-module-size: 16 GiB note: est.
  Device-1: ChannelA-DIMM0 type: DDR4 detail: synchronous unbuffered
    (unregistered) size: 8 GiB speed: 2400 MT/s volts: curr: 1.2 width (bits):
    data: 64 total: 64 manufacturer: Samsung part-no: M471A1K43CB1-CRC
    serial: <filter>
  Device-2: ChannelB-DIMM0 type: DDR4 detail: synchronous unbuffered
    (unregistered) size: 16 GiB speed: 2400 MT/s volts: curr: 1.2 width (bits):
    data: 64 total: 64 manufacturer: Samsung part-no: M471A2K43CB1-CTD
    serial: <filter>
CPU:
  Info: model: Intel Core i5-8350U socket: BGA1356 (U3E1) note: check bits: 64
    type: MT MCP arch: Coffee Lake gen: core 8 level: v3 note: check built: 2017
    process: Intel 14nm family: 6 model-id: 0x8E (142) stepping: 0xA (10)
    microcode: 0xF4
  Topology: cpus: 1x cores: 4 tpc: 2 threads: 8 smt: enabled cache:
    L1: 256 KiB desc: d-4x32 KiB; i-4x32 KiB L2: 1024 KiB desc: 4x256 KiB
    L3: 6 MiB desc: 1x6 MiB
  Speed (MHz): avg: 699 high: 800 min/max: 400/3600 base/boost: 1700/1900
    scaling: driver: intel_pstate governor: powersave volts: 1.1 V
    ext-clock: 100 MHz cores: 1: 800 2: 800 3: 800 4: 800 5: 800 6: 400 7: 798
    8: 400 bogomips: 30409
  Flags: 3dnowprefetch abm acpi adx aes aperfmperf apic arat
    arch_capabilities arch_perfmon art avx avx2 bmi1 bmi2 bts clflush
    clflushopt cmov constant_tsc cpuid cpuid_fault cx16 cx8 de ds_cpl dtes64
    dtherm dts epb ept ept_ad erms est f16c flexpriority flush_l1d fma fpu
    fsgsbase fxsr ht hwp hwp_act_window hwp_epp hwp_notify ibpb ibrs ida
    intel_pt invpcid lahf_lm lm mca mce md_clear mmx monitor movbe mpx msr
    mtrr nonstop_tsc nopl nx pae pat pbe pcid pclmulqdq pdcm pdpe1gb pebs pge
    pln pni popcnt pse pse36 pti pts rdrand rdseed rdtscp rep_good sdbg sep
    sgx smap smep smx ss ssbd sse sse2 sse4_1 sse4_2 ssse3 stibp syscall tm
    tm2 tpr_shadow tsc tsc_adjust tsc_deadline_timer vme vmx vnmi vpid x2apic
    xgetbv1 xsave xsavec xsaveopt xsaves xtopology xtpr
  Vulnerabilities:
  Type: gather_data_sampling mitigation: Microcode
  Type: itlb_multihit status: KVM: VMX disabled
  Type: l1tf mitigation: PTE Inversion; VMX: conditional cache flushes, SMT
    vulnerable
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable
  Type: meltdown mitigation: PTI
  Type: mmio_stale_data mitigation: Clear CPU buffers; SMT vulnerable
  Type: retbleed mitigation: IBRS
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: IBRS, IBPB: conditional, STIBP: conditional,
    RSB filling, PBRSB-eIBRS: Not affected
  Type: srbds mitigation: Microcode
  Type: tsx_async_abort mitigation: TSX disabled
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Lenovo driver: i915 v: kernel
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports: active: eDP-1
    empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:5917
    class-ID: 0300
  Device-2: Chicony Integrated IR Camera driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-5:3 chip-ID: 04f2:b613
    class-ID: 0e02
  Device-3: Chicony Integrated Camera (1280x720@30) driver: uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-8:5
    chip-ID: 04f2:b604 class-ID: 0e02 serial: <filter>
  Display: server: X.Org v: 21.1.10 compositor: kwin_x11 driver: X:
    loaded: modesetting alternate: fbdev,vesa dri: iris gpu: i915 display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: AU Optronics 0x103d built: 2016 res: 1920x1080
    hz: 60 dpi: 158 gamma: 1.2 size: 309x173mm (12.17x6.81") diag: 354mm (13.9")
    ratio: 16:9 modes: 1920x1080
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast surfaceless: drv: iris x11: drv: iris
    inactive: gbm,wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 23.1.9-manjaro1.1
    glx-v: 1.4 direct-render: yes renderer: Mesa Intel UHD Graphics 620 (KBL GT2)
    device-ID: 8086:5917 memory: 22.68 GiB unified: yes
  API: Vulkan v: 1.3.274 layers: N/A device: 0 type: integrated-gpu
    name: Intel UHD Graphics 620 (KBL GT2) driver: mesa intel
    v: 23.1.9-manjaro1.1 device-ID: 8086:5917 surfaces: xcb,xlib
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Lenovo ThinkPad T480
    driver: snd_hda_intel v: kernel alternate: snd_soc_skl,snd_soc_avs
    bus-ID: 00:1f.3 chip-ID: 8086:9d71 class-ID: 0403
  API: ALSA v: k6.6.8-2-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 1.0.0 status: n/a (root, process) with:
    1: pipewire-pulse status: active 2: pipewire-media-session status: active
    3: pipewire-alsa type: plugin 4: pw-jack type: plugin
    tools: pactl,pw-cat,pw-cli
Network:
  Device-1: Intel Ethernet I219-LM vendor: Lenovo driver: e1000e v: kernel
    port: N/A bus-ID: 00:1f.6 chip-ID: 8086:15d7 class-ID: 0200
  IF: enp0s31f6 state: down mac: <filter>
  Device-2: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 03:00.0 chip-ID: 8086:24fd class-ID: 0280
  IF: wlp3s0 state: up mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  WAN IP: <filter>
Bluetooth:
  Message: No bluetooth data found.
Logical:
  Message: No logical block device data found.
  Device-1: luks-d74b9c8d-9bb0-4945-80a2-b917d8143295 maj-min: 254:0
    type: LUKS dm: dm-0 size: 931.21 GiB
  Components:
  p-1: nvme0n1p2 maj-min: 259:2 size: 931.22 GiB
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 931.51 GiB used: 444.61 GiB (47.7%)
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
    model: WD BLACK SN770 1TB size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 731030WD temp: 27.9 C scheme: GPT
  SMART: yes health: PASSED on: 5d 6h cycles: 1,528
    read-units: 8,151,255 [4.17 TB] written-units: 3,456,725 [1.76 TB]
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 931.21 GiB size: 915.52 GiB (98.32%)
    used: 444.61 GiB (48.6%) fs: ext4 block-size: 4096 B dev: /dev/dm-0
    maj-min: 254:0 mapped: luks-d74b9c8d-9bb0-4945-80a2-b917d8143295 label: N/A
    uuid: 6c159802-2769-4409-a0cb-434bed39f4e6
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 460 KiB (0.2%) fs: vfat block-size: 512 B dev: /dev/nvme0n1p1
    maj-min: 259:1 label: N/A uuid: E44A-39F9
Swap:
  Alert: No swap data was found.
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 12 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 1-1:2 info: Logitech Unifying Receiver type: keyboard,mouse
    driver: logitech-djreceiver,usbhid interfaces: 2 rev: 2.0
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 98mA
    chip-ID: 046d:c534 class-ID: 0301
  Device-2: 1-5:3 info: Chicony Integrated IR Camera type: video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
    mode: 2.0 power: 500mA chip-ID: 04f2:b613 class-ID: 0e02
  Device-3: 1-8:5 info: Chicony Integrated Camera (1280x720@30) type: video
    driver: uvcvideo interfaces: 2 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s) lanes: 1
    mode: 2.0 power: 500mA chip-ID: 04f2:b604 class-ID: 0e02 serial: <filter>
  Device-4: 1-9:14 info: Synaptics Metallica MIS Touch Fingerprint Reader
    type: <vendor specific> driver: N/A interfaces: 1 rev: 2.0
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 100mA
    chip-ID: 06cb:009a class-ID: ff00 serial: <filter>
  Device-5: 1-10:7 info: Raydium Touch System type: HID
    driver: hid-multitouch,usbhid interfaces: 1 rev: 2.0
    speed: 12 Mb/s (1.4 MiB/s) lanes: 1 mode: 1.1 power: 96mA
    chip-ID: 2386:432f class-ID: 0300
  Hub-2: 2-0:1 info: super-speed hub ports: 6 rev: 3.0
    speed: 5 Gb/s (596.0 MiB/s) lanes: 1 mode: 3.2 gen-1x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Device-1: 2-3:2 info: Realtek Card Reader type: mass storage
    driver: usb-storage interfaces: 1 rev: 3.0 speed: 5 Gb/s (596.0 MiB/s)
    lanes: 1 mode: 3.2 gen-1x1 power: 800mA chip-ID: 0bda:0316 class-ID: 0806
    serial: <filter>
Sensors:
  System Temperatures: cpu: 40.0 C pch: 35.5 C mobo: N/A
  Fan Speeds (rpm): fan-1: 0
Info:
  Processes: 233 Uptime: 7h 47m wakeups: 7 Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
  Packages: pm: pacman pkgs: 1398 libs: 390 tools: pamac,yay pm: flatpak
  pkgs: 0 Shell: Sudo (sudo) v: 1.9.15p4 default: Bash v: 5.2.21
  running-in: konsole inxi: 3.3.31

Just from looking at it … these would seem to be EFI defaults.

The ones numbered 0-2 above it are ‘configured’, and I would guess you intend to keep them.

So … I’m not sure there is anything to remove.

For example, while mine is a lot shorter, it likewise contains things like ‘EFI DVD/CD’

$ efibootmgr 
BootCurrent: 0002
Timeout: 0 seconds
BootOrder: 0002,0001,2001,2002,2003
Boot0001* Windows Boot Manager  HD(1,GPT,www-xxx-yyy-zzz,0x800,0x82000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)xxxSTRINGxxx
Boot0002* manjaro       HD(1,GPT,www-xxx-yyy-zzz,0x800,0x82000)/File(\EFI\manjaro\grubx64.efi)
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC

All actual bios boot order entries are those marked with * listed in efibootmgr. That was intended because

  1. Boot0002, because I currently run manajro

  2. Boot0000, because I still want to able to physically install the HDD back and run WIN11

  3. Boot0017 & Boot0018, because I believe these a required to boot alternately rescue images or manjaro-chroot from the installer

  4. All other * marked boot entries I left because I’m unsure what they mean.

  5. All non * marked entries are not in the bios boot order menu (visible). In other words efibootmgr should never ever have boot0001 ubuntu.

man efibootmgr

Hi @heyjo,

I just went ahead and deleted those I didn’t want:

$ efibootmgr                                                                                                                                                                                                                                          1 ↵
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001
Boot0000* manjaro       HD(3,GPT,0653a05b-0f22-f64c-a283-7cc0dcb83551,0x800,0xfa000)/File(\EFI\MANJARO\GRUBX64.EFI)
Boot0001  UEFI OS       HD(3,GPT,0653a05b-0f22-f64c-a283-7cc0dcb83551,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI)0000424f

Note: this is a desktop, not a laptop so there wasn’t any vendor-specific rescue boot options to consider.

I removed those I didn’t want according to the help:

$ efibootmgr --help
efibootmgr version 18
usage: efibootmgr [options]
-a | --active         Set bootnum active.
-A | --inactive       Set bootnum inactive.
-b | --bootnum XXXX   Modify BootXXXX (hex).
-B | --delete-bootnum Delete bootnum.
[...]

So,

sudo efibootmgr --delete-bootnum <entryID>

Where, <entryID> is the BootXXXX value shown there.

I take no responsibility if anything breaks id you do this, however. But I hope it helps!

Does your BIOS allow you to enable only one boot entry (the one you use as default) and disable the others? After subsequent reboots that might sort it out (might not, too). Cheers.

Do not do that. There is no profit at all. But there are risks.

Don’t fix it if it ain’t broke

At least on my ideapad, the Insyde UEFI generates entries automatically if it sees the respective EFI file on the ESP. I had Ubuntu, iformatted the partition and the entry remained. I tried to delete it with efibootmgr but it reappeared on reboot. So i actually had to delete the ubuntu folder from the ESP (mounted within a live usb).

All other entries seem pretty normal and should not be touched!

1 Like

May I ask: “why do you care?”

As for a learning perspective I understand, but other than that, the boot works correct although you might have to use arrow keys right?

You are not asking about grub here, but that menu is created with naming conversions IIRC, ie you name the meny entries with a number first to force the order.

@soundofthunder

Does your BIOS allow you to enable only one boot entry (the one you use as default) and disable the others? After subsequent reboots that might sort it out (might not, too). Cheers.

My BIOS allows to enable multiple entries, and also to allow me to disable and delete entries.
Now, I wrongly assumed that those entries that are disabled would not make it into efibootmgr. But they did.
All “unvisible” entries were just listed under the section “excluded from boot priority order” (disabled)

Thanks to all of you for pointing me to the solution

This topic was automatically closed 3 hours after the last reply. New replies are no longer allowed.