đź”§ How I fixed my Proxmox server after upgrading to Proxmox 9 (stuck booting into BIOS)

A hands-on recovery guide after a failed UEFI boot post-upgrade

I upgraded one of my Proxmox servers from 8.x to 9.x and everything looked fine. The upgrade finished without errors, packages installed, no scary warnings. Then I rebooted.

Straight into BIOS. No Proxmox boot option. No errors. Just firmware staring back at me like nothing was ever installed.

If you’re here, you’re probably in the same situation. This is exactly how I fixed it, step by step, without reinstalling Proxmox or losing any VMs.


What was actually broken

The system was installed in UEFI mode, but after the Proxmox 9 upgrade, the firmware no longer had a valid boot entry. GRUB was either missing from the EFI System Partition or not properly registered.

The fix turned out to be simple once I knew what to do:
boot into Proxmox rescue mode and reinstall GRUB to the EFI partition.


What I needed before starting

  • Physical or remote console access (IPMI / iDRAC / iLO / KVM)

  • A USB stick with the Proxmox VE installer ISO

  • About 10 minutes and a calm mindset

No reinstall. No restore from backup. Just repair the bootloader.


Step 1: Boot into Proxmox Rescue Mode

First, I plugged in the Proxmox installer USB and booted from it.

In the installer menu, I selected:

Advanced Options → Rescue Boot

After a short wait, I landed in a Proxmox rescue environment with shell access. That’s all I needed.


Step 2: Find the EFI System Partition (important)

Before mounting anything, I checked my disks to find the EFI partition:

lsblk -f

What I was looking for:

  • A small partition (usually 100–1024 MB)

  • Filesystem: vfat / FAT32

  • Often named something like nvme0n1p2, sda2, etc.

On my system, the EFI partition was:

/dev/nvme0n1p2

Yours may be different. Double-check this part. Mounting the wrong partition is the easiest way to mess things up.


Step 3: Mount the EFI partition

Once I knew which partition was the ESP, I mounted it:

mkdir -p /boot/efi
mount /dev/nvme0n1p2 /boot/efi

Quick sanity check:

ls /boot/efi

If you see an EFI directory, you’re on the right partition.


Step 4: Reinstall GRUB (this is the fix)

This is the step that actually fixed the problem for me.

grub-install \
--target=x86_64-efi \
--efi-directory=/boot/efi \
--bootloader-id=proxmox \
--recheck

If this command completes without errors, you’re in good shape.


Step 5: Regenerate the GRUB configuration

Next, I rebuilt the GRUB menu:

update-grub

This detects the installed kernels and recreates the boot menu entries.


Step 6: Reboot and fix boot order

Now the moment of truth.

reboot

Before the system booted again, I made sure to:

  • Remove the USB stick

  • Enter BIOS/UEFI settings

  • Verify that the Proxmox disk or “proxmox” UEFI entry was first in the boot order

After that… Proxmox booted normally. No reinstall. All VMs intact.