I recently installed Proxmox VE on a server that was set to boot in BIOS/legacy mode, not UEFI. I later ran into the bug in grub where grub is really picky about what features are enabled in ZFS and will refuse to boot if certain features are enabled (large_dnode in my case). So I decided to switch the server to boot using UEFI but it dropped me to the UEFI shell.
It looks like although the Proxmox installer creates the UEFI partition, it does not properly create the boot entry if it is installed in BIOS/legacy mode (with grub).
So here are my notes on how I fixed this, hopefully this can help someone else:
On my system, at the UEFI prompt I entered:
in order to boot the system as a one-time thing.
Once the system was booted I did
Now I ran
Reboot and it should work.
See https://pve.proxmox.com/wiki/Host_Bootloader#sysboot_systemd_boot for more info.
It looks like although the Proxmox installer creates the UEFI partition, it does not properly create the boot entry if it is installed in BIOS/legacy mode (with grub).
So here are my notes on how I fixed this, hopefully this can help someone else:
On my system, at the UEFI prompt I entered:
fs0:\EFI\systemd\systemd-bootx64.efi
in order to boot the system as a one-time thing.
Once the system was booted I did
fdisk -l
and found that /dev/sda2 was my EFI partition. I also did efibootmgr -v
and found that only the EFI shell was setup. So to fix this I ran (making sure /dev/sda2 is the proper EFI partition)
Code:
pve-efiboot-tool init /dev/sda2
pve-efiboot-tool refresh
Now I ran
efibootmgr -v
and found that there was an entry for Proxmox in the list.Reboot and it should work.
See https://pve.proxmox.com/wiki/Host_Bootloader#sysboot_systemd_boot for more info.