A bootloader binary isn’t enough. Running systems need diagnosis, ESP maintenance, configuration backup, automated repair, and migration paths. LamBoot ships a companion toolkit of five bash CLI utilities that do all of that — online, against a running system, or offline against a stopped VM’s disk.
Tools live in the lamboot-tools repository. Bash 4.0+ and standard utilities (findmnt, lsblk, blkid); efibootmgr and dosfstools where available. No Python or Rust required on the host.
Which tool for which situation
| Situation | Tool | Command |
|---|---|---|
| Something seems wrong with boot | lamboot-diagnose | sudo lamboot-diagnose |
| ESP filesystem corruption or space issues | lamboot-esp | sudo lamboot-esp check |
| Before making changes to boot config | lamboot-backup | sudo lamboot-backup save |
| System won’t boot, need automated repair | lamboot-repair | sudo lamboot-repair |
| VM won’t boot, repair from Proxmox host | lamboot-repair | sudo lamboot-repair --offline /dev/… |
| Migrating from BIOS/MBR to UEFI/GPT | lamboot-migrate | sudo lamboot-migrate to-uefi |
| Replacing GRUB with LamBoot | lamboot-migrate | sudo lamboot-migrate to-lamboot |
| Check current boot configuration | lamboot-migrate | sudo lamboot-migrate status |
| List what’s on the ESP | lamboot-esp | sudo lamboot-esp inventory |
| Clean stale files from ESP | lamboot-esp | sudo lamboot-esp clean |
Each tool in detail
lamboot-diagnose
Comprehensive UEFI boot-chain scan with actionable recommendations. Checks partition table (GPT vs MBR, ESP GUID), ESP health (mount, FS, free space, perms), UEFI boot variables and order, bootloader files, installed kernels and matching initrds, valid BLS entries, Secure Boot status and enrolled keys, MOK state, fstab entries, and on VMs the OVMF NVRAM LamBoot state (crash counter, boot state).
lamboot-esp
EFI System Partition health check and management. Three subcommands:
- —
check(default) — filesystem integrity (fsck.fat), space usage, permissions, fallback path presence - —
inventory— list every file on the ESP with sizes and bootloader identification - —
clean— identify and optionally remove stale/orphaned files (dry-run by default)
Detects LamBoot, GRUB, systemd-boot, Windows, rEFInd, shim side-by-side — not just its own files.
lamboot-backup
UEFI boot configuration snapshot to a single JSON file. Captures all UEFI boot entries (paths, labels, attributes), boot order, timeout, Secure Boot state, LamBoot-specific NVRAM variables (crash counter, state, last entry), and a timestamp.
lamboot-backup save [FILE] # default: lamboot-backup.json
lamboot-backup restore FILE # re-apply boot entries from backup
lamboot-backup show [FILE] # display backup contents
Run this before any install / migrate / repair operation. JSON is human-readable and diff-friendly.
lamboot-repair
Automated repair for common boot failures. Runs lamboot-diagnose, analyzes findings, applies fixes with user confirmation. Handles missing bootloader files, broken UEFI boot entries, stale BLS entries pointing to purged kernels, missing fallback path (\EFI\BOOT\BOOTX64.EFI), corrupted policy.toml.
Two modes:
- — Online: runs on a live system with ESP mounted
- — Offline: mounts a stopped VM’s disk image and repairs it from the host —
sudo lamboot-repair --offline /dev/pve/vm-201-disk-1
lamboot-migrate
Migration between boot configurations. Three operations:
- —
status— identify current boot chain (BIOS/MBR or UEFI/GPT; GRUB / systemd-boot / LamBoot / rEFInd / shim / Windows) - —
to-uefi— BIOS/MBR → UEFI/GPT migration (partition table conversion, ESP creation, bootloader install) - —
to-lamboot— replace GRUB with LamBoot while preserving existing kernel entries
lamboot-monitor.py
Proxmox host-side VM fleet monitor. Reads each VM’s OVMF_VARS_<vmid>.fd file, decodes LamBoot NVRAM variables, produces a health table across the whole fleet. No in-VM agent. Python 3, stdlib only. See the Proxmox page for the usage flow.