Upgrading from Proxmox 8 to 9 issues; Couldn't find EFI system partition. It is recommended to mount it to /boot or /efi.

[deleted]


What an adventure indeed! Just wanted to say thank you for saving me from a reinstall (although I was able to reboot using the Rescue Boot and had backups so it wouldn't have been a huge deal). I also didn't see any warnings of note during pve8to9 -full, and yet this caused a fatal flaw in the upgrade. My previous install was a vanilla PVE 8.4 install from ISO, so I'm not quite sure what went awry.

Ah well, all good now!
Glad I was help to help!
 
Thanks for the great explanation, that makes sense. I also have an efi boot system.
I can also comment, that my system did not boot, but grub crashed after the migration.
I have run pve8to9 -all with no warnings.
Now, the system is manually reinstalled.

I have also verified the hint with the grub bug, but the relevant package was already installed.
My pleasure, glad this helped!
 
I had a similar issue today:

fully upgraded to pve 8.4.11. running the `pve8to9` command to do a check, complained that i had to remove the systemd-boot package. ok, so i removed it. i than reran the proxmox-boot-tool and did an init on the /boot/efi partition to make sure everything is ok. i rebooted the system before the upgrade and all good, proxmox 8.4.11 came up like normal.

than i did the upgrade with the usual changes in the apt sources list and so. proxmox 9 installed itself like normal and debian upgrade to trixie. BUT, when i rebooted, the system was stuck and went to the bios directly.

tried multiple different boot options, nothing.

so, even with a perfectly booting 8.4.11 before, the upgrade to 9.0.5 managed to corrupt or move the efi boot so that the system could not boot anymore.

the only solution that got me going again was:
- boot from a pve9 iso install -> advanced -> rescue boot
- checked the boot/efi partition via `lsblk`
- unmounted the boot partition `umount /boot/efi`
- init the proxmox-boot-tool again on that partition `proxmox-boot-tool init /dev/nvme0nxxx`
- mounted all again `mount -a`
- did a refresh `proxmox-boot-tool refresh`
- i also triggered an initramfs again `update-initramfs -u -k all`
- reboot

just in case anyone of you is running into the same issue
 
  • Like
Reactions: knifeowl
Thank you Machtl, I also just attempted upgrading PVE 8.4.11 to 9 on minisforum MS-01 and ran into seemingly same situation.

After upgrade and rebooting the text "Welcome to GRUB" flashed shortly on the screen followed by nothing but black for 20sec after which system restarts itself to uefi menu. After retrying couple times managed to end up in this thread, dug up a USB stick, booted to rescue, ran the step you listed and the system started up into grub's blue menu and then booted fine.
 
Hi, all.

I fixed the crashed grub. The problem was with a grubx64.efi file. I just run:
cp -v /boot/efi/EFI/proxmox/grubx64.efi /boot/efi/EFI/debian/grubx64.efi
And reboot to new Proxmox v9 working system.

I need that because I have this proxmox boot lines by default pointed to /debian/ path:
root@pve22:~# efibootmgr
BootCurrent: 000B
Timeout: 3 seconds
BootOrder: 000B,0002,000C,000D,000E,000F,0010,0011,0012,0013
Boot0002* debian HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x200000)/File(\EFI\DEBIAN\GRUBX64.EFI)0000424f
Boot000B* debian HD(1,GPT,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,0x800,0x200000)/File(\EFI\DEBIAN\GRUBX64.EFI)0000424f
...

But despite this, default file /boot/efi/EFI/debian/grubx64.efi does not updated automatically with proxmox from 8 to 9.
And I copied it manually:

total 4492
drwx------ 2 root root 4096 dec 7 2024 .
drwx------ 5 root root 4096 aug 7 10:13 ..
-rwx------ 1 root root 112 dec 7 2024 BOOTX64.CSV
-rwx------ 1 root root 88568 dec 7 2024 fbx64.efi
-rwx------ 1 root root 152 dec 7 2024 grub.cfg
-rwx------ 1 root root 2685544 aug 7 11:34 grubx64.efi
-rwx------ 1 root root 851368 dec 7 2024 mmx64.efi
-rwx------ 1 root root 952384 dec 7 2024 shimx64.efi

i'll change the `efibootmgr` record later to point it to `/boot/efi/EFI/proxmox/grubx64.efi` to avoid such problems in the future.
This was the fix for me. Seems during the provisioning of my server, my efibootmgr is still reliant on the debian\grubx64.efi. After replacing it with proxmox, my server started fine.