Wrong default bootloader entry: "Reboot into firmware interface"

jAston

Member
Aug 26, 2023
13
1
8
Currently preparing PVE 8.4.19 single node for an upgrade to 9.

But I'm having an issue where the bootloader defaults to "Reboot into firmware interface" instead of any other valid boot entry. I have to manually select an entry each time to avoid it boot-looping back into the BIOS.

bootctl
Code:
bootctl
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.
System:
      Firmware: UEFI 2.70 (American Megatrends 5.17)
 Firmware Arch: x64
   Secure Boot: disabled (setup)
  TPM2 Support: no
  Boot into FW: supported

Current Boot Loader:
      Product: systemd-boot 252.39-1~deb12u2
     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
               ✓ Boot loader sets ESP information
          ESP: /dev/disk/by-partuuid/XXXX-1
         File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI

Random Seed:
 Passed to OS: yes
 System Token: set

Boot Loaders Listed in EFI Variables:
        Title: Linux Boot Manager
           ID: 0x0003
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/XXXX-1
         File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI

        Title: Linux Boot Manager
           ID: 0x0002
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/XXXX-2
         File: └─/EFI/SYSTEMD/SYSTEMD-BOOTX64.EFI

        Title: UEFI OS
           ID: 0x000D
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/XXXX-2
         File: └─/EFI/BOOT/BOOTX64.EFI

        Title: UEFI OS
           ID: 0x000E
       Status: active, boot-order
    Partition: /dev/disk/by-partuuid/XXXX-1
         File: └─/EFI/BOOT/BOOTX64.EFI

Code:
proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
System currently booted with uefi
XXXX-1 is configured with: uefi (versions: 6.8.12-32-pve, 6.8.12-39-pve)
XXXX-2 is configured with: uefi (versions: 6.8.12-32-pve, 6.8.12-39-pve)

I tried mounting the EFI partition(s) and edit
/boot/efi/loader/loader.conf

it says:
Code:
timeout 10
default proxmox-*

But changing that value to, for example, the explicit boot entry doesn't help, as it gets overwritten anyway.

I also read the following:

https://pve.proxmox.com/wiki/Upgrade_from_8_to_9#sd-boot-warning

My current setup is "ZFS on root and UEFI booted without Secure Boot", so I might have some follow-up tasks related to systemd-boot.

"pve8to9 --full" shows no failures or warnings related to the bootloader.


Does anyone have an idea how I can fix the default bootloader entry in v8?
Ideally, I'd like to fix it in a way that's also compatible with the v9 requirements.
 
Thanks,
lsblk -f
shows a UUID for the EFI System Partition, so I don't think this solution applies to my case.
I also don't want to reformat the ESP without knowing that it is actually the problem.