Productslamboot-tools › Proxmox

Proxmox VE Companion

The lamboot-toolkit-pve add-on for Proxmox VE hosts and VM fleets.

OVERVIEW

Five tools, one companion package

The lamboot-toolkit-pve companion package ships alongside the core lamboot-tools suite and adds five tools purpose-built for Proxmox VE environments. The companion targets both the host (bare-metal Proxmox) and the guest VMs it manages, including boot mode audits across an entire cluster with a single command.

lamboot-pve-setup

Configure a Proxmox host to use UEFI for all new VMs by default, set OVMF firmware paths, and verify existing VM firmware configurations.

lamboot-pve-fleet

Audit every VM in a node or cluster for its boot mode, firmware version, and lamboot migration readiness. Outputs structured JSON compatible with the schema v1 envelope.

lamboot-pve-migrate

Convert one or more Proxmox VMs from BIOS to UEFI. Wraps lamboot-migrate with VM-specific pre- and post-flight steps: snapshot before, verify after.

lamboot-pve-monitor

Continuous monitoring daemon that watches for new VMs, boot mode regressions, and OVMF firmware drift. Emits events to syslog and optionally to a webhook URL.

lamboot-pve-ovmf-vars

Manage per-VM OVMF NVRAM variable files: copy a template, reset to defaults, export variables, or migrate vars between OVMF versions.

HOST SETUP

lamboot-pve-setup

One-time Proxmox host configuration for UEFI-native VM provisioning.

Setup a Proxmox host
# Check current Proxmox UEFI configuration
sudo lamboot-pve-setup status

# Configure UEFI defaults for new VMs (dry run first)
sudo lamboot-pve-setup configure --dry-run
sudo lamboot-pve-setup configure

# Verify OVMF firmware paths are correct
sudo lamboot-pve-setup verify-ovmf

configure writes to /etc/pve/datacenter.cfg and creates /etc/modprobe.d/lamboot-pve.conf. Always check with --dry-run first. A backup of modified files is stored in /var/backups/lamboot/.

FLEET AUDIT

lamboot-pve-fleet

Cluster-wide boot-mode audit. Connects via the Proxmox API and reports boot status for every VM.

Fleet audit
# Audit all VMs on the local node
sudo lamboot-pve-fleet audit

# Audit all VMs across a cluster
sudo lamboot-pve-fleet audit --cluster

# Output as JSON for pipeline use
sudo lamboot-pve-fleet audit --json | jq '.findings[] | select(.severity != "info")'

# Filter to VMs not yet on UEFI
sudo lamboot-pve-fleet audit --json | jq '.vms[] | select(.boot_mode == "bios")'
Fleet audit output
lamboot-pve-fleet 0.9.1  ─  Proxmox VE 8.2.2  ─  node: pve-prod-01

  VMID  Name              Boot Mode    OVMF      Migration Ready
  ────  ────────────────  ──────────   ───────   ───────────────
  100   web-01            uefi         4.14.07   n/a
  101   web-02            uefi         4.14.07   n/a
  102   db-01             bios         n/a       yes
  103   db-02             bios         n/a       yes
  104   cache-01          uefi         4.10.02   upgrade OVMF
  105   monitoring        bios         n/a       preflight needed

  2 UEFI (current), 2 UEFI (upgrade recommended), 2 BIOS (migration available)
VM MIGRATION · MAJOR CHANGE

lamboot-pve-migrate

Convert Proxmox VMs from BIOS to UEFI. Takes a Proxmox snapshot before migration and verifies the result after reboot.

VM migration
# Preflight check before touching anything
sudo lamboot-pve-migrate preflight 102

# Migrate VM 102 (creates Proxmox snapshot first)
sudo lamboot-pve-migrate run 102

# Migrate multiple VMs sequentially
sudo lamboot-pve-migrate run 102 103

# Migrate all BIOS VMs in the fleet
sudo lamboot-pve-fleet audit --json | \
    jq -r '.vms[] | select(.boot_mode == "bios" and .migration_ready == true) | .vmid' | \
    xargs sudo lamboot-pve-migrate run

Each migration: (1) takes a named Proxmox snapshot, (2) shuts down the VM if needed, (3) applies the UEFI conversion via lamboot-migrate inside the guest, (4) updates the VM configuration in Proxmox, (5) starts the VM, (6) waits for agent connectivity, (7) runs lamboot-diagnose and reports pass/fail. Exit code 0 means the VM booted successfully in UEFI mode.

MONITORING

lamboot-pve-monitor

Watch for new VMs and boot mode drift. Runs as a systemd service.

bash
sudo lamboot-pve-monitor start
sudo lamboot-pve-monitor status
sudo lamboot-pve-monitor --webhook https://… start
OVMF VARS

lamboot-pve-ovmf-vars

Manage per-VM OVMF NVRAM variable files.

bash
sudo lamboot-pve-ovmf-vars list 102
sudo lamboot-pve-ovmf-vars reset 102
sudo lamboot-pve-ovmf-vars export 102 ./ovmf-102.fd
sudo lamboot-pve-ovmf-vars migrate 102 --to-version 4.14.07
INSTALLATION

Installing the Proxmox companion

The companion is distributed as a separate archive on the same GitHub Release page as the core toolkit. Install the core tools first.
Install lamboot-toolkit-pve
# Download the Proxmox companion from GitHub Releases
curl -L https://github.com/lamco-admin/lamboot-tools/releases/latest/download/lamboot-toolkit-pve-0.9.1.tar.gz \
    -o lamboot-toolkit-pve-0.9.1.tar.gz

# Verify GPG signature
curl -L https://github.com/lamco-admin/lamboot-tools/releases/latest/download/lamboot-toolkit-pve-0.9.1.tar.gz.asc \
    -o lamboot-toolkit-pve-0.9.1.tar.gz.asc
gpg --verify lamboot-toolkit-pve-0.9.1.tar.gz.asc lamboot-toolkit-pve-0.9.1.tar.gz

# Extract and install
tar -xzf lamboot-toolkit-pve-0.9.1.tar.gz
cd lamboot-toolkit-pve-0.9.1
sudo ./install.sh

# Verify
lamboot-pve-setup status