Skip to main content

🚀 EFI Boot Fix

EFI boot issues on Proxmox can prevent kernel updates and break boot tooling. This guide walks you through replacing legacy GRUB packages, mounting the EFI partition, and re‑initializing the Proxmox boot tool so your system boots cleanly in UEFI mode.

info

These steps are safe for most Proxmox VE 7/8 installs, but always verify disk and partition paths before running commands.

Prerequisites

  • ✅ Proxmox VE host with root shell access
  • ✅ UEFI‑capable motherboard and BIOS/UEFI access
  • ✅ Access to a maintenance window (reboot required)
  • ✅ Basic Linux CLI familiarity
warning

Mounting the wrong partition or editing the wrong GRUB settings can prevent boot. Double‑check device paths before applying changes.

Configuration Steps

  1. Install correct GRUB package (replaces legacy grub-pc):

    apt-get install grub-efi-amd64
  2. Confirm EFI mode is active:

    ls /sys/firmware/efi
  3. Identify the EFI partition:

    lsblk
    fdisk -l /dev/nvme0n1

    Look for a ~1GB partition marked EFI System (commonly /dev/nvme0n1p2 or /dev/sda2).

  4. Mount the EFI partition:

    mount /dev/nvme0n1p2 /boot/efi
  5. Initialize the Proxmox boot tool (if UUIDs are missing):

    proxmox-boot-tool status
    umount /boot/efi
    proxmox-boot-tool init /dev/nvme0n1p2
  6. Verify status:

    proxmox-boot-tool status
  7. Reboot:

    reboot

Option B: Proxmox Web UI

  1. Reboot into BIOS/UEFI and set UEFI Only (disable Legacy/CSM).
  2. Verify boot mode in Proxmox: Node → System → System Information.
  3. Confirm EFI partition under Node → Disks.
  4. Apply terminal steps from Option A for GRUB and boot tool initialization.
  5. Reboot and verify the node returns without EFI warnings.

Understanding the Configuration

Flow Diagram

[Install grub-efi-amd64] -> [Mount EFI] -> [proxmox-boot-tool init] -> [Sync kernels] -> [UEFI boot]

Components Table

ComponentPurposeNotes
grub-efi-amd64Correct GRUB for UEFIReplaces grub-pc
EFI System PartitionStores UEFI boot filesTypically 1GB FAT32
proxmox-boot-toolSyncs kernels to EFIGenerates boot entries
/etc/kernel/proxmox-boot-uuidsTracks EFI UUIDsAuto-created by boot tool

Verification

  1. UEFI mode present:
    ls /sys/firmware/efi
  2. Boot tool status clean:
    proxmox-boot-tool status
  3. No missing UUID errors: confirm proxmox-boot-tool status does not report missing UUIDs.
  4. Reboot test: node returns without EFI warnings in update output.

Troubleshooting

IssueCauseSolution
EFI warning on updatesgrub-pc installedInstall grub-efi-amd64
EFI partition not foundWrong disk selectedUse lsblk/fdisk -l to locate EFI
/etc/kernel/proxmox-boot-uuids missingBoot tool not initializedRun proxmox-boot-tool init /dev/…
proxmox-boot-tool fails to mountEFI already mountedumount /boot/efi then retry
EFI mount failsWrong filesystemEnsure EFI is FAT32 (vfat)
System still boots legacyBIOS set to Legacy/CSMSwitch BIOS to UEFI Only
Update-grub errorsMissing EFI mountMount EFI before running tools
Node won’t rebootPending package locksFinish apt operations and retry
Multiple EFI disksConflicting boot entriesInitialize each ESP intentionally
Boot entries missingESP not syncedRe-run proxmox-boot-tool init
Wrong UUID syncedIncorrect device pathRe-initialize with correct partition
Updates still warnCached GRUB configReinstall grub-efi-amd64 and reboot

Advanced Options

  1. Initialize multiple EFI partitions for redundancy
  2. Pin a preferred boot entry in BIOS
  3. Use efibootmgr -v to verify entries
  4. Add a dedicated /boot/efi entry in /etc/fstab
  5. Keep a rescue USB for recovery
  6. Use ZFS boot with pve-efiboot-tool refresh
  7. Enable secure boot only after confirming boot chain
  8. Back up /etc/kernel/cmdline and GRUB config
  9. Use a separate boot disk to reduce risk
  10. Document EFI UUIDs for disaster recovery

Completion

🎉 EFI boot issues resolved!

Next steps:

  • Confirm updates run without EFI warnings
  • Back up boot configs and UUIDs
  • Document firmware mode and boot order