[SOLVED] "Welcome to GRUB" after apt dist-upgrade

Notice the date & time, is this concerning?
Code:
~# ls /boot/efi/EFI/proxmox/grubx64.efi -l
-rwxr-xr-x 1 root root 139264 Dec  1 15:31 /boot/efi/EFI/proxmox/grubx64.efi
~# ls /boot/efi/EFI/BOOT/BOOTx64.EFI -l
-rwxr-xr-x 1 root root 139264 Dec  1 15:31 /boot/efi/EFI/BOOT/BOOTx64.EFI
 
you can run "proxmox-boot-tool reinit" to reinitialize the ESP to pick up the current version. the sha256 checksum of that one is fcafd5e96a9b8a29ad76bea6b444ea7622bfd78405705a37b646b0befba7cc81 for the unsigned version, and 0497043d657e1ca031d5acb57d8fb552c8da516394da665a54778c478479d593 for the signed version.
 
Current output:
Code:
~# umount /boot/efi
~# proxmox-boot-tool reinit
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
UUID="0EB4-B1FB" SIZE="1073741824" FSTYPE="vfat" PARTTYPE="c12a7328-f81f-11d2-ba4b-00a0c93ec93b" PKNAME="nvme0n1" MOUNTPOINT=""
Mounting '/dev/disk/by-uuid/0EB4-B1FB' on '/var/tmp/espmounts/0EB4-B1FB'.
Installing grub x86_64 target..
Installing for x86_64-efi platform.
Installation finished. No error reported.
Installing grub x86_64 target (removable)..
Installing for x86_64-efi platform.
Installation finished. No error reported.
Unmounting '/dev/disk/by-uuid/0EB4-B1FB'.
Adding '/dev/disk/by-uuid/0EB4-B1FB' to list of synced ESPs..
~# mount /dev/nvme0n1p2 /boot/efi
~# sha256sum  /boot/efi/EFI/proxmox/grubx64.efi
5cb20319d7076a4a83f78b96389413459eb5300b120a32722fd05a42d7536ea1  /boot/efi/EFI/proxmox/grubx64.efi
~# sha256sum /boot/efi/EFI/BOOT/BOOTx64.EFI
5cb20319d7076a4a83f78b96389413459eb5300b120a32722fd05a42d7536ea1  /boot/efi/EFI/BOOT/BOOTx64.EFI
~# ls /boot/efi/EFI/BOOT/BOOTx64.EFI -l
-rwxr-xr-x 1 root root 139264 Mar  3 12:20 /boot/efi/EFI/BOOT/BOOTx64.EFI
~# ls /boot/efi/EFI/proxmox/grubx64.efi -l
-rwxr-xr-x 1 root root 139264 Mar  3 12:20 /boot/efi/EFI/proxmox/grubx64.efi
~# efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0000,0001
Boot0000* proxmox       HD(2,GPT,9cbeef3c-23f6-4dec-89ca-dc71a7bf1903,0x800,0x200000)/File(\EFI\proxmox\grubx64.efi)
Boot0001* UEFI OS       HD(2,GPT,9cbeef3c-23f6-4dec-89ca-dc71a7bf1903,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

the sha256 checksum of that one is fcafd5e96a9b8a29ad76bea6b444ea7622bfd78405705a37b646b0befba7cc81 for the unsigned version, and 0497043d657e1ca031d5acb57d8fb552c8da516394da665a54778c478479d593 for the signed version.
Does not look like mine match?


Should I go for a reboot?
 
please post "pveversion -v" and "sha256sum /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi"
 
proxmox-boot-tool not showing any UUIDs is fine on systems that don't use proxmox-boot-tool to manage their ESPs (such as a regular install on top of LVM).

could you post the entry form /var/log/apt/term.log covering the upgrade? "efibootmgr -v" output and information with which version of the ISO your system was installed would also be interesting!

I suspect something was wrong with the initial bootloader setup, but hard to tell without more information..

I also did a "regular" install with LVM from a PVE 8.x ISO, no fancy business.

Log started: 2025-02-28 07:25:33
(Reading database ... 82039 files and directories currently installed.)
Preparing to unpack .../00-librgw2_17.2.8-pve1_amd64.deb ...
Unpacking librgw2 (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../01-libradosstriper1_17.2.8-pve1_amd64.deb ...
Unpacking libradosstriper1 (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../02-ceph-common_17.2.8-pve1_amd64.deb ...
Unpacking ceph-common (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../03-librbd1_17.2.8-pve1_amd64.deb ...
Unpacking librbd1 (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../04-librados2_17.2.8-pve1_amd64.deb ...
Unpacking librados2 (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../05-python3-cephfs_17.2.8-pve1_amd64.deb ...
Unpacking python3-cephfs (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../06-libcephfs2_17.2.8-pve1_amd64.deb ...
Unpacking libcephfs2 (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../07-python3-rgw_17.2.8-pve1_amd64.deb ...
Unpacking python3-rgw (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../08-python3-rados_17.2.8-pve1_amd64.deb ...
Unpacking python3-rados (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../09-python3-ceph-argparse_17.2.8-pve1_all.deb ...
Unpacking python3-ceph-argparse (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../10-python3-ceph-common_17.2.8-pve1_all.deb ...
Unpacking python3-ceph-common (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../11-python3-rbd_17.2.8-pve1_amd64.deb ...
Unpacking python3-rbd (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../12-ceph-fuse_17.2.8-pve1_amd64.deb ...
Unpacking ceph-fuse (17.2.8-pve1) over (17.2.7-pve3) ...
Preparing to unpack .../13-grub2-common_2.06-13+pmx5_amd64.deb ...
Unpacking grub2-common (2.06-13+pmx5) over (2.06-13+pmx2) ...
Preparing to unpack .../14-grub-efi-amd64_2.06-13+pmx5_amd64.deb ...
Unpacking grub-efi-amd64 (2.06-13+pmx5) over (2.06-13+pmx2) ...
Preparing to unpack .../15-grub-efi-amd64-bin_2.06-13+pmx5_amd64.deb ...
Unpacking grub-efi-amd64-bin (2.06-13+pmx5) over (2.06-13+pmx2) ...
Preparing to unpack .../16-grub-pc-bin_2.06-13+pmx5_amd64.deb ...
Unpacking grub-pc-bin (2.06-13+pmx5) over (2.06-13+pmx2) ...
Preparing to unpack .../17-grub-common_2.06-13+pmx5_amd64.deb ...
Unpacking grub-common (2.06-13+pmx5) over (2.06-13+pmx2) ...
Preparing to unpack .../18-libproxmox-acme-plugins_1.6.0_all.deb ...
Unpacking libproxmox-acme-plugins (1.6.0) over (1.5.1) ...
Preparing to unpack .../19-libproxmox-acme-perl_1.6.0_all.deb ...
Unpacking libproxmox-acme-perl (1.6.0) over (1.5.1) ...
Preparing to unpack .../20-libproxmox-rs-perl_0.3.5_all.deb ...
Unpacking libproxmox-rs-perl (0.3.5) over (0.3.4) ...
Preparing to unpack .../21-libpve-rs-perl_0.9.2_amd64.deb ...
Unpacking libpve-rs-perl (0.9.2) over (0.9.1) ...
Preparing to unpack .../22-proxmox-widget-toolkit_4.3.6_all.deb ...
Unpacking proxmox-widget-toolkit (4.3.6) over (4.3.4) ...
Preparing to unpack .../23-pve-i18n_3.4.0_all.deb ...
Unpacking pve-i18n (3.4.0) over (3.3.3) ...
Setting up librados2 (17.2.8-pve1) ...
Setting up proxmox-widget-toolkit (4.3.6) ...
Setting up librgw2 (17.2.8-pve1) ...
Setting up python3-ceph-argparse (17.2.8-pve1) ...
Setting up libproxmox-acme-perl (1.6.0) ...
Setting up libcephfs2 (17.2.8-pve1) ...
Setting up grub-common (2.06-13+pmx5) ...
Setting up libradosstriper1 (17.2.8-pve1) ...
Setting up libproxmox-acme-plugins (1.6.0) ...
Setting up python3-ceph-common (17.2.8-pve1) ...
Setting up pve-i18n (3.4.0) ...
Setting up librbd1 (17.2.8-pve1) ...
Setting up grub-efi-amd64-bin (2.06-13+pmx5) ...
Setting up ceph-fuse (17.2.8-pve1) ...
Setting up python3-rados (17.2.8-pve1) ...
Setting up grub2-common (2.06-13+pmx5) ...
Setting up python3-rbd (17.2.8-pve1) ...
Setting up grub-pc-bin (2.06-13+pmx5) ...
Setting up grub-efi-amd64 (2.06-13+pmx5) ...
Installing for x86_64-efi platform.
File descriptor 3 (pipe:[12973662]) leaked on vgs invocation. Parent PID 2091505: grub-install.real
File descriptor 3 (pipe:[12973662]) leaked on vgs invocation. Parent PID 2091505: grub-install.real
Installation finished. No error reported.
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.12-8-pve
Found initrd image: /boot/initrd.img-6.8.12-8-pve
Found linux image: /boot/vmlinuz-6.8.12-7-pve
Found initrd image: /boot/initrd.img-6.8.12-7-pve
Found linux image: /boot/vmlinuz-6.5.13-6-pve
Found initrd image: /boot/initrd.img-6.5.13-6-pve
Found linux image: /boot/vmlinuz-6.2.16-20-pve
Found initrd image: /boot/initrd.img-6.2.16-20-pve
Found linux image: /boot/vmlinuz-6.2.16-3-pve
Found initrd image: /boot/initrd.img-6.2.16-3-pve
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Adding boot menu entry for UEFI Firmware Settings ...
done
Setting up python3-rgw (17.2.8-pve1) ...
Setting up python3-cephfs (17.2.8-pve1) ...
Setting up ceph-common (17.2.8-pve1) ...
Setting system user ceph properties..usermod: no changes
usermod: unlocking the user's password would result in a passwordless account.
You should set a password with usermod -p to unlock this user's password.
..done
chown: cannot access '/var/log/ceph/*.log*': No such file or directory
Fixing /var/run/ceph ownership....done
Setting up libproxmox-rs-perl (0.3.5) ...
Setting up libpve-rs-perl (0.9.2) ...
Processing triggers for pve-ha-manager (4.0.6) ...
Processing triggers for libc-bin (2.36-9+deb12u9) ...
Processing triggers for pve-manager (8.3.4) ...
Processing triggers for man-db (2.11.2-2) ...
Log ended: 2025-02-28 07:25:54

Bash:
root@prox:~# efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002
Boot0001* UEFI OS       HD(2,GPT,426372a8-d55a-44d6-a2e3-f20f4d0e7569,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0002* UEFI OS       HD(2,MBR,0x620e5816,0x7730ab0,0x10000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

Bash:
root@prox:~# sha256sum /boot/efi/EFI/BOOT/BOOTx64.EFI
5cb20319d7076a4a83f78b96389413459eb5300b120a32722fd05a42d7536ea1  /boot/efi/EFI/BOOT/BOOTx64.EFI

Bash:
root@prox:~# ll /boot/efi/EFI/BOOT/BOOTx64.EFI
-rwxr-xr-x 1 root root 139264 Feb 28 13:12 /boot/efi/EFI/BOOT/BOOTx64.EFI
root@prox:~# uname -a
Linux prox 6.8.12-8-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-8 (2025-01-24T12:32Z) x86_64 GNU/Linux

Bash:
root@prox:~# pveversion -v
proxmox-ve: 8.3.0 (running kernel: 6.8.12-8-pve)
pve-manager: 8.3.4 (running version: 8.3.4/65224a0f9cd294a3)
proxmox-kernel-helper: 8.1.0
pve-kernel-6.2: 8.0.5
proxmox-kernel-6.8: 6.8.12-8
proxmox-kernel-6.8.12-8-pve-signed: 6.8.12-8
proxmox-kernel-6.8.12-7-pve-signed: 6.8.12-7
proxmox-kernel-6.5.13-6-pve-signed: 6.5.13-6
proxmox-kernel-6.5: 6.5.13-6
proxmox-kernel-6.2.16-20-pve: 6.2.16-20
proxmox-kernel-6.2: 6.2.16-20
pve-kernel-6.2.16-3-pve: 6.2.16-3
ceph-fuse: 17.2.8-pve1
corosync: 3.1.7-pve3
criu: 3.17.1-2+deb12u1
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.6.0
libproxmox-backup-qemu0: 1.5.1
libproxmox-rs-perl: 0.3.5
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.2.0
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.2
libpve-storage-perl: 8.3.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.3-1
proxmox-backup-file-restore: 3.3.3-1
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.3.6
pve-cluster: 8.0.10
pve-container: 5.2.4
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-3
pve-ha-manager: 4.0.6
pve-i18n: 3.4.0
pve-qemu-kvm: 9.0.2-5
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.8
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.7-pve1

Bash:
root@prox:~# sha256sum /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
sha256sum: /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed: No such file or directory
fcafd5e96a9b8a29ad76bea6b444ea7622bfd78405705a37b646b0befba7cc81  /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi

root@prox:~# ll /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
ls: cannot access '/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed': No such file or directory
-rw-r--r-- 1 root root 4206592 Feb 26 11:29 /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi

Am I fine? ;-)
 
Last edited:
Code:
~# pveversion -v
proxmox-ve: 8.3.0 (running kernel: 6.8.12-8-pve)
pve-manager: 8.3.4 (running version: 8.3.4/65224a0f9cd294a3)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.12-8
proxmox-kernel-6.8.12-8-pve-signed: 6.8.12-8
proxmox-kernel-6.8.12-7-pve-signed: 6.8.12-7
ceph-fuse: 17.2.8-pve1
corosync: 3.1.7-pve3
criu: 3.17.1-2+deb12u1
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.6.0
libproxmox-backup-qemu0: 1.5.1
libproxmox-rs-perl: 0.3.5
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.2.0
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.2
libpve-storage-perl: 8.3.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.3-1
proxmox-backup-file-restore: 3.3.3-1
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-widget-toolkit: 4.3.6
pve-cluster: 8.0.10
pve-container: 5.2.4
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-3
pve-ha-manager: 4.0.6
pve-i18n: 3.4.0
pve-qemu-kvm: 9.0.2-5
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.8
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.7-pve1

Code:
~# sha256sum /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
sha256sum: /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed: No such file or directory
fcafd5e96a9b8a29ad76bea6b444ea7622bfd78405705a37b646b0befba7cc81  /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
 
So if I understand correctly, these 2 should be the same - BUT THEY ARE NOT!
Code:
~# sha256sum /boot/efi/EFI/proxmox/grubx64.efi /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
5cb20319d7076a4a83f78b96389413459eb5300b120a32722fd05a42d7536ea1  /boot/efi/EFI/proxmox/grubx64.efi
fcafd5e96a9b8a29ad76bea6b444ea7622bfd78405705a37b646b0befba7cc81  /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi

Also here:
Code:
~# ls /boot/efi/EFI/proxmox/grubx64.efi -l
-rwxr-xr-x 1 root root 139264 Mar  3 12:20 /boot/efi/EFI/proxmox/grubx64.efi
~# ls /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi -l
-rw-r--r-- 1 root root 4206592 Feb 26 12:29 /usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
 
Last edited:
@gfngfn256 ah, if you are not using secure boot, then they are not identical, since you won't be using the monolithic image..
 
All booted perfectly - yet still:
Code:
~# efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000
Boot0000* proxmox       HD(2,GPT,9cbeef3c-23f6-4dec-89ca-dc71a7bf1903,0x800,0x200000)/File(\EFI\proxmox\grubx64.efi)
Boot0001* UEFI OS       HD(2,GPT,9cbeef3c-23f6-4dec-89ca-dc71a7bf1903,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
So it is not booting Boot0000, maybe this has to be set in the BIOS?
 
you can set it in the UEFI firmware settings, yes.
 
your system also uses the "wrong" boot entry (not the proxmox one), but otherwise, see my response above.

Ok, how do I get the UEFI "proxmox" entry back? Just by a power cycle?

Code:
root@prox:~# efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0002
Boot0001* UEFI OS       HD(2,GPT,426372a8-d55a-44d6-a2e3-f20f4d0e7569,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO
Boot0002* UEFI OS       HD(2,MBR,0x620e5816,0x7730ab0,0x10000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

Code:
root@prox:~# find / -iname "*.efi"
/usr/lib/grub/x86_64-efi/monolithic/grubx64.efi
/usr/lib/grub/x86_64-efi/monolithic/gcdx64.efi
/usr/lib/grub/x86_64-efi/monolithic/grubnetx64-installer.efi
/usr/lib/grub/x86_64-efi/monolithic/grubnetx64.efi
/usr/lib/systemd/boot/efi/systemd-bootx64.efi
/boot/grub/x86_64-efi/core.efi
/boot/grub/x86_64-efi/grub.efi
/boot/efi/EFI/proxmox/grubx64.efi
/boot/efi/EFI/BOOT/BOOTx64.EFI
/boot/efi/grub/x86_64-efi/core.efi
/boot/efi/grub/x86_64-efi/grub.efi
/boot/memtest86+ia32.efi
/boot/memtest86+x64.efi

Update:

After a (successful) reboot, there is only one entry left:


Bash:
root@prox:~# efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001
Boot0001* UEFI OS       HD(2,GPT,426372a8-d55a-44d6-a2e3-f20f4d0e7569,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

Still no "proxmox" entry ...
 
Last edited:
Still no "proxmox" entry ...
Have you tried:
Code:
~# umount /boot/efi
~# proxmox-boot-tool reinit
My understanding is you will also have to select that "proxmox" boot entry in the BIOS to actually allow the UEFI system to boot from it. I myself don't have a physical monitor attached to (this) server, so am unable at present to do this but YMMV.

Good luck.
 
you can add it manually, or redo the grub-install command that should register it as well.
 
you can run "proxmox-boot-tool reinit" to reinitialize the ESP to pick up the current version. the sha256 checksum of that one is fcafd5e96a9b8a29ad76bea6b444ea7622bfd78405705a37b646b0befba7cc81 for the unsigned version, and 0497043d657e1ca031d5acb57d8fb552c8da516394da665a54778c478479d593 for the signed version.
Sorry, Fabian, I must have missed this post.
I now did a
Bash:
umount /boot/efi
proxmox-boot-tool reinit

And indeed, I now have the "proxmox" entry back:

Bash:
root@prox:~# efibootmgr -v
BootCurrent: 0001
Timeout: 1 seconds
BootOrder: 0001,0000
Boot0000* proxmox       HD(2,GPT,426372a8-d55a-44d6-a2e3-f20f4d0e7569,0x800,0x200000)/File(\EFI\PROXMOX\GRUBX64.EFI)
Boot0001* UEFI OS       HD(2,GPT,426372a8-d55a-44d6-a2e3-f20f4d0e7569,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

root@prox:~# sha256sum /boot/efi/EFI/proxmox/grubx64.efi /boot/efi/EFI/BOOT/BOOTx64.EFI
grubx64.efi
root@prox:~# sha256sum /boot/efi/EFI/proxmox/grubx64.efi /boot/efi/EFI/BOOT/BOOTx64.EFI
5cb20319d7076a4a83f78b96389413459eb5300b120a32722fd05a42d7536ea1  /boot/efi/EFI/proxmox/grubx64.efi
5cb20319d7076a4a83f78b96389413459eb5300b120a32722fd05a42d7536ea1  /boot/efi/EFI/BOOT/BOOTx64.EFI

Since these .EFI files seem to be identical, I hope I'm moderately safe for now.
I'll hook up a display and keyboard and try to change the UEFI boot to use "proxmox" ...

Still there must have been some kind of change in the updated Grub packages since this issue affects a few users.
 
  • Like
Reactions: gfngfn256
I don't think there was anything in the update itself, just the fact that there was an update..
 
  • Like
Reactions: pigpen
Ok, I couldn't set the boot order permanently by using efibootmgr -o 0000,0001.
But I've found and set the "proxmox" entry now in the BIOS.
After a cold boot, it seems I'm on the safe side again:

Bash:
root@prox:~# efibootmgr -v
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0001
Boot0000* proxmox       HD(2,GPT,426372a8-d55a-44d6-a2e3-f20f4d0e7569,0x800,0x200000)/File(\EFI\PROXMOX\GRUBX64.EFI)
Boot0001* UEFI OS       HD(2,GPT,426372a8-d55a-44d6-a2e3-f20f4d0e7569,0x800,0x200000)/File(\EFI\BOOT\BOOTX64.EFI)..BO

Hooray! :)
 
great!

I've now managed to reproduce the issue as well, it happens if
- your system is booted using EFI but with secure boot disabled
- you are using the fallback bootloader (BOOTX64.EFI) to boot, but the Grub packages don't know about it
- the update will then update everything but that fallback bootloader binary
- the fallback binary and the rest of Grub on the ESP don't match anymore -> failure to boot

I just sent a patch for our installer to ensure the fallback copy of Grub is also updated:
https://lore.proxmox.com/pve-devel/20250304094522.1621953-1-f.gruenbichler@proxmox.com/T/#u