I had this X710 nic and I wanted VFIO.
Those options were only available using Uefi, I installed proxmox at some point and I didn't do efi boot so just been stuck ever since, I was a bit annoyed to see everyone just say "just reinstall bro" and I just said to myself No!
system short specs: X470D4U with a 3900X.
So a brief summary of how to, starting from Legacy booted environment:
1.\
Backups.
Take backups of config, boot files and such just in case.
2.\
proxmox-boot-tool reinit
Note down disk uuid and partitions used so you can verify that it'll do the right thing later, or troubleshoot
Your installed drive(s) should have a 512mb partition and that partition appeared as vfat for me.
Install systemd-boot
Verify that "
3.\
download proxmox-ve install media, I used 8.0.2 for my 8.0.3 installed proxmox, 8.1 refused to boot at all.
http://download.proxmox.com/iso/
4.\
Disable CSM in Bios and all legacy boot options, only Uefi from now on.
5.\
Boot proxmox media, advanced options and console debug.
When prompted press CTRL+D
6.\
Make the live environment more like home (more like the actual install with same paths)
Import your pool, replace rpool with your pool name, it just happened to be my pool name for OS install.
Mount paths:
Finally change root folder path
7.\
Now we'll actually change the bootloader.
The Partitions touched should match what you saw in point 2.\
Verify you now have a EFI boot option:
Hopefully Success!!
Those options were only available using Uefi, I installed proxmox at some point and I didn't do efi boot so just been stuck ever since, I was a bit annoyed to see everyone just say "just reinstall bro" and I just said to myself No!

system short specs: X470D4U with a 3900X.
So a brief summary of how to, starting from Legacy booted environment:
1.\
Backups.
Take backups of config, boot files and such just in case.
2.\
proxmox-boot-tool reinit
Note down disk uuid and partitions used so you can verify that it'll do the right thing later, or troubleshoot
lsblk -o +FSTYPE
Your installed drive(s) should have a 512mb partition and that partition appeared as vfat for me.
Install systemd-boot
apt-get install systemd-boot
Verify that "
bootctl
" command works, this verifies that we can do the commands required later.3.\
download proxmox-ve install media, I used 8.0.2 for my 8.0.3 installed proxmox, 8.1 refused to boot at all.
http://download.proxmox.com/iso/
4.\
Disable CSM in Bios and all legacy boot options, only Uefi from now on.
5.\
Boot proxmox media, advanced options and console debug.
When prompted press CTRL+D
6.\
Make the live environment more like home (more like the actual install with same paths)
Import your pool, replace rpool with your pool name, it just happened to be my pool name for OS install.
zpool import -f -R /mnt rpool
Mount paths:
mount -o rbind /proc /mnt/proc
mount -o rbind /sys /mnt/sys
mount -o rbind /dev /mnt/dev
mount -o rbind /run /mnt/run
Finally change root folder path
chroot /mnt /bin/bash
7.\
Now we'll actually change the bootloader.
pve-efiboot-tool reinit
pve-efiboot-tool refresh
The Partitions touched should match what you saw in point 2.\
Verify you now have a EFI boot option:
efibootmgr -v
Hopefully Success!!