My Proxmox host boots to BIOS after upgrading from PVE 8 to 9.
I was able to use Rescue Boot from a Proxmox 9 install USB but it says /boot not found. In Rescue Boot, everything else seems to be working fine though.
I've only been using Proxmox for about 2 months now so I'm not familiar with all the troubleshooting options, but I've looked at other forums posts and tried some of the solutions posted but none have worked for me so far.
Here is my output for lsblk and there is no /boot or /boot/efi.
I ran fdisk -l and there is an EFI System that is 8M but apparently it is supposed to be around 1G?
Code:
Device Start End Sectors Size Type
/dev/sdg1 64 627 564 282K Microsoft basic data
/dev/sdg2 628 17011 16384 8M EFI System
/dev/sdg3 17012 3205631 3188620 1.5G Apple HFS/HFS+
/dev/sdg4 3205632 3206231 600 300K Microsoft basic data
And here are various commands I tried running based on other posts I have seen with no luck (proxmox-boot-tool statusproxmox-boot-tool refreshapt install grub-efi-amd64)
Code:
root@pve:~# proxmox-boot-tool status
Re-executing '/usr/sbin/proxmox-boot-tool' in new private mount namespace..
E: /etc/kernel/proxmox-boot-uuids does not exist.
root@pve:~# proxmox-boot-tool refresh
Running hook script 'proxmox-auto-removal'..
Running hook script 'zz-proxmox-boot'..
Re-executing '/etc/kernel/postinst.d/zz-proxmox-boot' in new private mount namespace..
No /etc/kernel/proxmox-boot-uuids found, skipping ESP sync.
root@pve:~# apt install grub-efi-amd64
grub-efi-amd64 is already the newest version (2.12-9+pmx2).
The following packages were automatically installed and are no longer required:
libva-wayland2 libwayland-client0 proxmox-kernel-6.14.5-1-bpo12-pve-signed proxmox-kernel-6.8.12-11-pve-signed proxmox-kernel-6.8.12-13-pve-signed
libva-x11-2 libxfixes3 proxmox-kernel-6.14.8-1-bpo12-pve-signed proxmox-kernel-6.8.12-12-pve-signed
Use 'apt autoremove' to remove them.
I'm honestly really lost on how I am supposed to fix this. Is anyone able to help or maybe point me in the right direction?
Since I didn't get any responses here, I asked chatgpt and eventually got it worked out. I want to post my fix in case anyone else comes across the same problem.
So my sdd had a 1G partition that used to be /boot/efi (sdd2) but was somehow removed during the pve8to9 update.
I ran blkid to get the UUID of sdd2, then did nano /etc/fstab to input this new line:
Code:
UUID=XXXX-XXXX /boot/efi vfat defaults 0 1
(with the UUID in place of the X's)
I ran mount -a and systemctl daemon-reload then did another lsblk to verify /boot/efi showed up on sdd2.
Hi @Antics04 - Forgive my ignorance, but where are you running these commands from? Are you running then from the recovery mode option?
When I try to run the recovery option from the Proxmox 9 ISO, I do get the /boot warning, but, then it says there is no kernal loaded and goes back to the menu.
I have tried to run the commands from the Debug option, but Im thinking I need to somehow mount my PVE instance first before I can edit FSTAB.
Has anyone got any ideas? I have exactly this same problem, 1TB SSD, 2nd partition is 1GB and is/was the /boot.
@Aussiebob66 I had the same issue as you. Spent 6 hours trying to figure it out. This is what work for me in the end.
Issues: Could not load the Proxmox Rescue, it would say some thing like "/boot/pve/v..." not found and would go back to the screen to choose what to start.
Solution:
Step 1: Boot from a rescue environment
Use a live USB: Alternatively, boot from a live USB stick of another Linux distribution like Ubuntu (I used Ubuntu)or SystemRescue, as long as it's compatible with your filesystem (e.g., not ZFS for standard rescue CDs).
Step 2: Mount your root filesystem
Create a mount point: mkdir /mnt/rescue.
Mount your root partition to this new directory. You can find your partition using lsblk or fdisk -l. For example, if Proxmox is on /dev/sdX (mine was /nvme0n1p2), use: mount /dev/sdX /mnt/rescue
Thanks @xxcite81 ! Instructions worked for me, though I couldn't mount the root partition directly: I had to use the root path and not the device (/devnvme0n1p3 for me). I used SystemRescue, as the Rescue Boot wasn't working at all for me.
I solved this problem by deleting the line . I had another server, and when I looked at its loading, I found that there was no such line at all. After deleting it, the 9th version loaded)))
Thank you so much for this, it fixed me right up. My partition was there and fstab was correct but grub installed wrong or something.
I used supergrub2 on my pen drive to just boot the proxmox server up natively right into proxmox itself. Bypass the broken grub and boot with supergrub.
Just ran into this exact issue after attempting an upgrade from 8.3.0 to the latest version. After hours of searching online for a fix, found your post. Noticed I had "EFI System" listed on one of my partitions when running fdisk -l but wasn't shown as mounted anywhere when running lsblk, just like OP had. Followed your exact steps and gave my system a reboot and bam! That did the trick.
I'm another person saved by this. I did have trouble finding the partition, it is the only one of type vfat with just a block size of 512 and UUIDs. I did notice on my upgrade that it said something about /boot/efi when it was updating grub but it scrolled by too fast to see what it said. It might be related to it asking if i wanted to replace my grub file which had been modified and I said no, because I think I changed it to get my video card passed through.
Same problem for me. Boot loop after a successful upgrade from proxmox 8.4.1 to 9.
I have used the @Pinochet method of booting into the upgraded proxmox with supergrub2, and then
Bash:
apt reinstall grub-efi-amd64
grub-install
The extra thing in my case was that I booted a copy; I had the original proxmox running on the network already, so I had to modify /etc/network/interfaces so that they have different static IPs, and that the referenced network device matches the one in my rescue computer.
Issue still exists on 6.20.26, I have 5 nodes, all worked swimmingly except my one node.
Basically stuck in a reboot loop after 8.4 to 9.2 upgrade. I had to do a boot override and select a different partition (not uefi proxmox), and was let in.
My grub boot cmd line is heavily customised, fortunately I have it saved in Joplin.
Since I’ve upgraded I’ve added a new node, and this one that’s been stuck in my bios can’t get quorum, so I probably have to rejoin cluster.
Curious why this node was affected, did same. Prep and upgrade steps on other nodes in cluster. This machine does have UEFI and legacy set. I think CSM too, that’s not the culprit, right?