GOTCHA 2026-04-29 ~3 min

Debian 13 cloud images need UEFI on q35/i440fx

BIOS booting loops in GRUB

Note staged from memory. Full write-up landing soon. The outline below captures the gist — the lesson is real, the production incident is in the rear-view, the workaround works today.

Debian 13 cloud images (Trixie) boot in an endless GRUB loop on KVM with BIOS firmware. Switch the VM to UEFI (`--boot uefi`) and they come up clean.

The note

The symptom

New KVM VM provisioned from Debian Trixie cloud image. VM boots into GRUB. GRUB loops forever. No grub menu, no kernel, just rescan.

Why it happens

The Debian 13 cloud image ships with an EFI System Partition layout that doesn't survive BIOS firmware boot on q35/i440fx machine types.

The fix

Recreate the VM with `--boot uefi` (or for libvirt XML: `<os><loader>/usr/share/OVMF/OVMF_CODE.fd</loader>`). Image boots cleanly.

Why I lost an evening to this

Debian 12 cloud images boot fine on BIOS. The behavior change was silent. If you templated your provisioning around BIOS, every D13 host needs a per-host config tweak.

debiankvmqemulinuxgotcha
All Field Notes