Force PVE to install EFI?

Read

New Member
Jan 23, 2026
3
0
1
My motherboard is the SuperMicro X10SL7-F. I am new to PVE, and just installed 9.1.1 on a mirrored set of 2 SSDs with ZFS.
The BIOS on this board does not have the option to select between BIOS and UEFI mode for booting, but it does "see" EFI partitions and allows adding a "filename.efi" file to the boot order. Proxmox creates the EFI partitions on both mirrored drives. However, PVE installs in Legacy BIOS mode, the /boot/efi directories are empty, and there are no *.efi files in the EFI partitions to boot off of. I can select either of the 2 mirrored drives in the BIOS, browse into thier EFI partiions, but there are no *.efi files to use. What's cool is that, in theory, I could have added EFI boot paths to both drives in the boot sequence so that if one drives fails, the next drive would be booted.

How can I force Proxmox to install the missing EFI files and then make sure that I can boot PVE successully?
 
Please try something like this
Bash:
mkdir /mnt/tmp
# Use the second partition of your boot drive
mount /dev/XXX /mnt/tmp
find /mnt/tmp/
This is a non-UEFI system
Bash:
# find /mnt/tmp/
/mnt/tmp/
/mnt/tmp/EFI
/mnt/tmp/EFI/proxmox
/mnt/tmp/EFI/proxmox/shimx64.efi
/mnt/tmp/EFI/proxmox/grubx64.efi
/mnt/tmp/EFI/proxmox/mmx64.efi
/mnt/tmp/EFI/proxmox/fbx64.efi
/mnt/tmp/EFI/proxmox/BOOTX64.CSV
/mnt/tmp/EFI/proxmox/grub.cfg
/mnt/tmp/EFI/BOOT
/mnt/tmp/EFI/BOOT/fbx64.efi
/mnt/tmp/EFI/BOOT/grubx64.efi
/mnt/tmp/EFI/BOOT/mmx64.efi
/mnt/tmp/EFI/BOOT/BOOTx64.efi
/mnt/tmp/EFI/systemd
/mnt/tmp/EFI/systemd/systemd-bootx64.efi
/mnt/tmp/EFI/Linux
/mnt/tmp/loader
/mnt/tmp/loader/keys
/mnt/tmp/loader/entries
/mnt/tmp/loader/entries/c73cd608939244c2a64dca68cba4c135-6.14.11-1-pve.conf
/mnt/tmp/loader/loader.conf
/mnt/tmp/loader/random-seed
/mnt/tmp/loader/entries.srel
/mnt/tmp/c73cd608939244c2a64dca68cba4c135
/mnt/tmp/c73cd608939244c2a64dca68cba4c135/6.14.11-1-pve
/mnt/tmp/c73cd608939244c2a64dca68cba4c135/6.14.11-1-pve/linux
/mnt/tmp/c73cd608939244c2a64dca68cba4c135/6.14.11-1-pve/initrd.img-6.14.11-1-pve

# efibootmgr
EFI variables are not supported on this system.
 
Last edited:
Thank you very much for your help!
Since my boot drives are mirrored, I have 2 identical 2nd partitions on both drives.

Boot disks partition layout:
Code:
fdisk -l, edit for brevity:

Device       Start        End    Sectors  Size Type
/dev/sda1       34       2047       2014 1007K BIOS boot
/dev/sda2     2048    2099199    2097152    1G EFI System
/dev/sda3  2099200 1952448512 1950349313  930G Solaris /usr & Apple Z

/dev/sdb1       34       2047       2014 1007K BIOS boot
/dev/sdb2     2048    2099199    2097152    1G EFI System
/dev/sdb3  2099200 1952448512 1950349313  930G Solaris /usr & Apple Z


Command outputs:
Code:
# find /mnt/tmp
/mnt/tmp
/mnt/tmp/grub
/mnt/tmp/grub/i386-pc
/mnt/tmp/grub/i386-pc/luks2.mod
/mnt/tmp/grub/i386-pc/gcry_sha1.mod
/mnt/tmp/grub/i386-pc/trig.mod
/mnt/tmp/grub/i386-pc/adler32.mod
/mnt/tmp/grub/i386-pc/xzio.mod
/mnt/tmp/grub/i386-pc/spkmodem.mod
/mnt/tmp/grub/i386-pc/cpio.mod
.....
32-bit modules cut out for brevity
.....
/mnt/tmp/grub/i386-pc/terminal.lst
/mnt/tmp/grub/i386-pc/modinfo.sh
/mnt/tmp/grub/i386-pc/core.img
/mnt/tmp/grub/i386-pc/boot.img
/mnt/tmp/grub/locale
/mnt/tmp/grub/locale/nl.mo
/mnt/tmp/grub/locale/lg.mo
...
locales cut for brevity
...
/mnt/tmp/grub/locale/uk.mo
/mnt/tmp/grub/fonts
/mnt/tmp/grub/fonts/unicode.pf2
/mnt/tmp/grub/grubenv
/mnt/tmp/grub/grub.cfg
/mnt/tmp/vmlinuz-6.17.2-1-pve
/mnt/tmp/initrd.img-6.17.2-1-pve

# efibootmgr
EFI variables are not supported on this system.
 
Last edited: