Proxmox VEIX · Virtual MachinesVM lifecycle
VM creation and machine types
What you'll learn
- Choose the right machine type i440fx vs q35 for a workload
- Configure BIOS vs UEFI boot
- Choose between SeaBIOS, OVMF, and Secure Boot
- Create a Linux VM from an ISO
Prerequisites
Verified against Proxmox VE 9.2.4 · Proxmox Backup Server 4.2.5 · Ceph Squid / Tentacle · Debian 13 (Trixie) · Linux kernel 7.0 (PVE 9.2 default) · 2026-08-07
Why this matters in production
The machine type and firmware you choose at VM creation cannot always be changed later without re-creating the VM. Picking the right one for the workload saves rework.
Machine types
QEMU emulates a chipset. Proxmox offers two machine types:
| Type | Chipset | When to use |
|---|---|---|
| i440fx | Legacy Intel | Older OS images, maximum compatibility |
| q35 | Modern Intel | Modern OS (Windows 10+, recent Linux); PCIe-based |
Firmware
| Firmware | Boot mode | Use |
|---|---|---|
| SeaBIOS | Legacy BIOS | Older OS, simple workloads |
| OVMF | UEFI | Modern OS, Secure Boot, TPM 2.0 |
| OVMF + Secure Boot | UEFI with enforced signature verification | Production Windows, hardened Linux |
Creating a Linux VM from ISO
GUI: Create VM → fill out the wizard.
CLI:
qm create 100 --name web-01 --memory 4096 --cores 4 --sockets 1 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-single --scsi0 local-zfs:32 --ide2 local:iso/ubuntu-22.04.iso,media=cdrom --boot order=scsi0 --ostype l26
Key options:
| Option | Purpose |
|---|---|
--memory 4096 | 4 GB RAM |
--cores 4 | 4 vCPUs (1 socket × 4 cores) |
--sockets 1 | 1 socket |
--net0 virtio,bridge=vmbr0 | NIC 0 = VirtIO, attached to vmbr0 |
--scsihw virtio-scsi-single | Modern paravirt SCSI controller |
--scsi0 local-zfs:32 | 32 GB disk on local-zfs, attached to SCSI 0 |
--ide2 local:iso/...iso,media=cdrom | Virtual CD-ROM with the install ISO |
--boot order=scsi0 | Boot from disk, not ISO |
--ostype l26 | Linux 2.6+ kernel (auto-detects most distros) |
After creation, set boot order to install from ISO first:
qm set 100 --boot order='ide2;scsi0' --bootdisk scsi0
Start the VM and connect to console:
qm start 100
qm status 100
UEFI VM with Secure Boot
qm create 101 --name win-01 --memory 8192 --cores 4 --bios ovmf --efidisk0 local-zfs:1,efitype=4m,pre-enrolled-keys=1 --scsihw virtio-scsi-single --scsi0 local-zfs:64 --ide2 local:iso/windows-11.iso,media=cdrom --boot order='ide2;scsi0' --ostype win11
| Option | Purpose |
|---|---|
--bios ovmf | UEFI firmware |
--efidisk0 local-zfs:1,... | 1 MB EFI disk; pre-enrolled-keys=1 enables Secure Boot |
--ostype win11 | Optimises for Windows 11 (TPM required via --tpmstate0) |
For Windows 11, also add a TPM:
qm set 101 --tpmstate0 local-zfs:1,version=v2.0
Production considerations
Common mistakes
- Creating a VM with SeaBIOS and trying to install Windows 11. UEFI is required.
- Forgetting to add a TPM for Windows 11. Installation will refuse.
- Mixing machine types across a cluster, breaking live migration.
Key takeaways
- q35 is the modern default; use it unless compatibility forces i440fx.
- UEFI (OVMF) is required for modern OSes; pair with EFI disk and TPM as needed.
- Standardise on a machine type within a cluster for migration portability.
Knowledge check
Knowledge check · 3 questions
Q1. Which machine type is the Proxmox 9 default for new VMs?
Q2. A Windows 11 VM needs OVMF plus an EFI disk and a TPM 2.0 device added before the installer will proceed.
Q3. Which option adds a TPM state to a VM?
Passing score: 75%. Answers are checked in this browser.