Proxmox 8.4.19 to 9.2.4 failure

mark69

New Member
Jul 17, 2026
1
0
1
Scenario:
  • Upgrade from Proxmox 8.4.19 to Proxmox 9.2.
  • Remote standalone Proxmox server hosted at IONOS, no physical access only a VNC Console
  • pve8to9 -full checklist was clear, all green ticks (after the VMs were shut down)
  • Worked through the prerequisites list, known issues list and googled for any horror stories.
  • Ironically GRUB was mentioned as a horror story but since I don't use ZFS or LVM I didn't think it would be an issue.
  • Upgrade went smoothly, no errors mentioned that I could see.
  • Rebooted.
This is when my long day started. I landed in GRUB. Unable to even "ls (hd0)" as the system would just freeze. I found this article (https://www.frontline.ro/en/blog/pr...issues-after-upgrading-from-version-8-pve8to9) which explains that there is a bug in GRUB 2.12 especially with MD RAID configurations. Worked through it and downgraded and pinned GRUB to 2.06.

I was now able to boot by running the following commands:
Code:
set root=(md/2)
linux /vmlinuz-7.0.14-5-pve root=/dev/md4 ro
initrd /initrd.img-7.0.14-5-pve
boot

However, everytime I reboot now, I have to go through the same process again. Apparently GRUB can't read the /boot or /boot/efi partition as it's in a software RAID partition? Even though this was working perfectly fine in Proxmox 7 and Proxmox 8?

My RAID1 disk layout is as follows:

sda1/sdb1 -> md127 FAT32 /boot/efi
sda2/sdb2 -> md126 ext3 /boot
sda3/sdb3 -> swap
sda4/sdb4 -> md125 ext4 /root

Any ideas how I can fix this?
 
Last edited:
Your issue is that GRUB (even the downgraded 2.06) isn't properly handling your mdadm RAID1 setup for /boot and EFI after the Proxmox 9 upgrade. It worked fine in PVE 8, but the upgrade messed up the automatic detection/config.

The manual boot with set root=(md/2) works because you're forcing it to the right RAID device. Device numbers can shift, which is why it doesn't stick on reboot.

Quick Fix (once you boot manually):​

  1. Boot with your usual manual commands.
  2. Run these as root:
    Code:
    apt update
    apt install --reinstall mdadm
    
    # Update mdadm config
    mdadm --detail --scan >> /etc/mdadm/mdadm.conf
    
    # Rebuild initramfs
    update-initramfs -u -k all
    
    # Reinstall GRUB on both disks
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=proxmox --recheck /dev/sda
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=proxmox --recheck /dev/sdb
    
    update-grub
Reboot and see if it works.

If it still drops to GRUB:​

Check /etc/default/grub and make sure the kernel line has the right root device (e.g. root=/dev/md125 or better, use the UUID).
Then run update-grub again.
Some people with mdadm /boot also create a custom GRUB snippet in /etc/grub.d/ to force the set root=(md/...) or mduuid.


Tips​

  • Proxmox doesn't really like mdadm for boot stuff anymore (they prefer ZFS). If you can, migrating to ZFS mirror later would be cleaner.
  • Keep GRUB pinned so it doesn't auto-upgrade and break again.
  • Sync your EFI partitions manually if they ever get out of sync.
If it still doesn't boot automatically after this, paste the output of these commands (after manual boot):
Code:
lsblk -f
cat /proc/mdstat
efibootmgr -v



Systems Thinker. Builder of Proximo - The Proxmox MCP you can hand the keys — VE + Backup Server + Mail Gateway + Datacenter Manager on one audited trust core (plan · prove · undo · diagnose). MCP + A2A + API

 
Thanks for your post. Interesting. A friend uses also MDADM for root. He didn't have any problems after the upgrade. Everything is set to default. EFI is used there as well. Root/PVE is on LVM.