Guides+50 XP

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.

Iván· Published on · 3 minLeer en español →

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…).

  1. Select the local storage → ISO Images.
  2. 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: SeaBIOS is fine for most Linux. For Windows 11 choose OVMF (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-lvm space 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, host passes 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:

  1. Download the virtio-win ISO (linked on the Proxmox wiki, “Windows VirtIO Drivers”) and upload it to local.
  2. In the VM, Hardware → Add → CD/DVD Drive with that ISO. Now it has two CDs: Windows and the drivers.
  3. Start the install. When you get to choosing a disk, none will appear. That’s normal.
  4. Click Load driver → Browse → virtio-win CD → vioscsi folder → your Windows version → amd64. The “Red Hat VirtIO SCSI” controller appears and, with it, your disk.
  5. 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):

  1. Install and configure a VM the way you like.
  2. Right-click → Convert to template.
  3. From the template, Clone creates new copies in seconds.

In part 4 we look at LXC containers: the lightweight alternative for Linux services.

Mini quiz

Did it stick?

Three quick questions. Each right answer is worth 10 XP.

  1. Which disk controller does Proxmox recommend for the best performance?
  2. What is the QEMU agent (qemu-guest-agent) for?
  3. When installing Windows on a VirtIO disk, why doesn't any disk show up?
  • #proxmox
  • #virtual-machines
  • #virtio
  • #windows
  • #linux
  • #qemu
Esc