Proxmox VE guide (3): your first virtual machine, with Linux and with Windows
Uploading the ISO, every wizard tab explained, the VirtIO settings that make the difference, the QEMU agent and installing Windows with VirtIO drivers.
Where this guide comes from: at work I administer a Proxmox VE cluster every day, with Ceph storage and backups to Proxmox Backup Server. This series is the version for starting from scratch at home, with a single server, and follows the official Proxmox VE 9.2 documentation.
With Proxmox installed and configured, on to the fun part: creating a virtual machine.
Step 1: upload the ISO
You need the image of the system you’ll install (Debian, Ubuntu, Windows…).
- Select the
localstorage → ISO Images. - Two options:
- Upload: upload the ISO from your computer.
- Download from URL: paste the download link and Proxmox fetches it directly. Faster for big ISOs.
Step 2: the “Create VM” wizard
Blue Create VM button, top right. Let’s go tab by tab.
General
- VM ID: a unique number (100, 101…). You’ll use it on the console.
- Name: something clear, for example
debian-lab.
OS
- Choose the ISO you uploaded.
- Guest OS: Linux or Microsoft Windows, with its version. Proxmox tweaks some details based on your choice.
System
- Machine:
q35, the modern chipset. - BIOS:
SeaBIOSis fine for most Linux. For Windows 11 chooseOVMF (UEFI), add the EFI disk and tick TPM (version 2.0): Windows 11 requires it. - Qemu Agent: tick it. I explain why below.
Disks
This is where the biggest performance gains are:
- Bus/Device: SCSI.
- Controller (in System or here, depending on version): VirtIO SCSI single.
- Size: whatever you need. On
local-lvmspace is allocated as it’s used, not all at once. - Discard: tick it, so space you free inside the VM is given back.
- IO thread: tick it; it improves performance with VirtIO SCSI single.
- SSD emulation: tick it if the real disk is an SSD.
CPU
- Cores: 2 to start with.
- Type: the default is compatible with almost everything. If you only have one server and want maximum performance,
hostpasses all your CPU’s capabilities to the VM.
Memory
- 2048 MB for a lab Linux; 4096 or 8192 for Windows.
- Ballooning lets Proxmox reclaim memory the VM isn’t using. Works best with the driver installed inside.
Network
- Bridge:
vmbr0(your home network). - Model: VirtIO (paravirtualized), the fastest.
Finish and the VM appears in the list on the left.
Step 3: install Linux
Select the VM → Start → Console. Install the system as you would on a normal computer.
When done, install the QEMU agent inside:
sudo apt install qemu-guest-agent
sudo systemctl enable --now qemu-guest-agent
Why the agent matters so much
With the agent, Proxmox can talk to the system inside:
- Show the VM’s IP in its summary.
- Shut it down cleanly (like pressing “Shut down” inside), not by pulling the plug.
- Freeze the filesystem for an instant during backups, so they’re consistent.
VirtIO drivers are already built into the Linux kernel, so nothing else is needed.
Step 4: install Windows (with VirtIO drivers)
Windows doesn’t include VirtIO drivers, so you have to provide them:
- Download the virtio-win ISO (linked on the Proxmox wiki, “Windows VirtIO Drivers”) and upload it to
local. - In the VM, Hardware → Add → CD/DVD Drive with that ISO. Now it has two CDs: Windows and the drivers.
- Start the install. When you get to choosing a disk, none will appear. That’s normal.
- Click Load driver → Browse → virtio-win CD →
vioscsifolder → your Windows version →amd64. The “Red Hat VirtIO SCSI” controller appears and, with it, your disk. - Once installed, open the virtio-win CD inside Windows and run
virtio-win-guest-tools. It installs the remaining drivers (network, balloon…) and the QEMU agent in one go.
Step 5: snapshot before touching anything
With the VM freshly installed and working, take a snapshot: Snapshots → Take Snapshot. If you break something later, Rollback takes you back to this point in seconds.
A snapshot isn’t a backup (it lives on the same disk), but for experimenting it’s gold. We cover this in part 5.
Tip: templates and clones
If you’ll create lots of identical VMs (typical in a lab):
- Install and configure a VM the way you like.
- Right-click → Convert to template.
- From the template, Clone creates new copies in seconds.
In part 4 we look at LXC containers: the lightweight alternative for Linux services.
Did it stick?
Three quick questions. Each right answer is worth 10 XP.