Tech Vault

Virtual machines

A virtual machine is a whole computer simulated in software, with its own operating system. Use one when a container won't do: Windows, a complete system such as Home Assistant OS or a firewall, or an experiment you want to undo in one click.

Checked 9 November 2026

Our pick

Proxmox VE

Install it on a spare machine in place of a normal operating system, then run everything from a web page. Create VMs, take a snapshot before a risky change, schedule backups, and run lightweight Linux containers alongside. It's free and open source, built on Debian, and so widely used in homelabs that most problems already have a forum answer.

proxmox.com
Cost
Free, paid support optional
Good for
One machine running a mix, such as Home Assistant OS, a Linux VM for your Docker apps and a system to test on.
Watch out for
It takes over the whole disk, wants a wired network connection, and needs virtualisation switched on in the BIOS. Without a paid subscription you'll see a reminder at each login, and you need to switch to the free "no-subscription" update repository, which you can do from its web page.

What a virtual machine is

A virtual machine, or VM, is a computer made of software, running inside a real one. It has its own pretend processor, memory, disk and network card, and you install a complete operating system on it as if it were a separate PC. The real computer shares out its hardware and keeps each VM sealed off from the others. The program that does this is called a hypervisor.

That’s useful in three ways. You can run a different system from the one on the machine: Windows on a Mac, Linux on a Windows PC, or Home Assistant OS on a server. You can try something risky and undo it, because a VM’s whole disk can be saved as a snapshot and restored in moments. And one physical computer can do the work of several.

VM or container: decide this first

Most homelab apps don’t need a VM. A container packages one app and shares the host’s core, the kernel, so it starts in seconds and uses little memory. A VM carries a whole operating system, so it needs more memory and disk, and its own updates. The Docker and containers page covers containers.

Container Virtual machine
Holds One app A whole operating system
Starts In seconds About as fast as a PC boots
Memory What the app is using The amount you give it
Runs Windows on a Linux server No Yes
Best for Most self-hosted apps Windows, Home Assistant OS, a firewall, experiments

The rule of thumb: containers for apps, a VM when you need a whole operating system.

Two kinds of VM software

  • On the computer you already use. An app such as VirtualBox, UTM or Hyper-V runs VMs in a window. This is the place to try Linux, test a server system before you install it for real, or run one Windows-only program. The VMs stop when you close the app or the computer sleeps.
  • On a dedicated machine. Proxmox, the pick, replaces the normal operating system on a spare computer. Nothing else runs on it. You manage it from a web page on another device, and its VMs run day and night.

Start with the first kind to learn. Move to the second when you want VMs that stay on.

What it needs

  • Virtualisation switched on in the BIOS. It’s called Intel Virtualization Technology (or VT-x) on Intel machines and SVM Mode on AMD. Almost every PC from the last decade has it, but some arrive with it turned off.
  • Memory, above all. Each running VM holds on to the memory you give it, on top of what the host needs. For a sense of scale: Proxmox wants 2 GB for itself, Home Assistant OS asks for 2 GB and 2 processor cores, and Windows 11 needs at least 4 GB and a 64 GB disk. 16 GB is a comfortable start for a Proxmox machine running a few VMs.
  • An SSD. Several systems sharing one hard drive are slow.
  • A network cable to the router, for Proxmox.
  • Licences for Windows VMs, the same as on a real PC.

How Proxmox fits in

  • One web page for everything. Open its address, on port 8006, from any browser on your network.
  • A Create VM wizard. Name, installer file, memory, disk and network, one tab at a time.
  • The VM’s screen in your browser. A console shows each VM’s display and passes your keyboard to it, so no monitor is needed.
  • Snapshots. Save a VM’s state before an update and roll back if it goes wrong.
  • Scheduled backups. Copy whole VMs to another drive, or to Proxmox Backup Server, on a timetable.
  • LXC containers. Lightweight Linux systems that run alongside your VMs and share the host’s kernel, like Docker containers do.
  • Windows 11 support. A virtual TPM security chip and UEFI firmware, both of which Windows 11 requires.

The easy way to set it up

To try VMs on the computer you already use, install VirtualBox (Windows, Linux and Intel Macs) or UTM (Macs with Apple chips) like any other app, or on Windows 11 Pro turn on Hyper-V under Turn Windows features on or off and use Hyper-V Quick Create. All of them create VMs with a New button and a few questions, no terminal.

Proxmox on a spare machine is point and click from start to finish:

  1. Make the USB stick. Download the Proxmox VE ISO and write it with balenaEtcher, which Proxmox’s own documentation suggests. Rufus also works if you choose its DD mode.
  2. Install. Turn on virtualisation in the BIOS, start from the stick, and follow the graphical installer: the disk, your country and time zone, a password, an email address for alerts, and the network settings. The disk is erased.
  3. Open the web page. After the restart, the screen shows an address like https://192.168.1.20:8006. Open it in a browser on another computer. The browser warns about the security certificate, which is expected on your own network. Log in as root with your password.
  4. Switch to the free updates. Close the “No valid subscription” message. Select your server, open Updates, then Repositories. Disable the enterprise entries, then use Add to add the No-Subscription repository. Back under Updates, press Refresh and then Upgrade.
  5. Upload an installer. Select the local storage, open ISO Images, and use Upload, or Download from URL to fetch one directly.
  6. Create a VM. Press Create VM, pick the ISO, give it memory and a disk, then start it and open Console to install its system.

If you’re already running ZimaOS, it has a simpler VM feature of its own that can download and install Windows or Linux in a few clicks. Its snapshot and backup features are still being built, so Proxmox is the stronger choice for VMs you rely on.

Questions people ask

Can I run Windows in a VM?

Yes. Proxmox, VirtualBox, Hyper-V and UTM can all provide the virtual TPM chip and UEFI that Windows 11 needs, and Windows needs a licence, the same as on a real PC. On Proxmox, also attach Proxmox’s recommended VirtIO drivers disc during installation, so Windows can see the fast virtual disk and network card.

Can I run Home Assistant OS in a VM?

Yes. Home Assistant publishes ready-made disk images for VirtualBox, KVM (which Proxmox uses) and other hypervisors, and asks for 2 GB of memory, 2 processor cores and UEFI. On Proxmox, many people use the community’s Proxmox VE Helper-Scripts, which set it up from one command pasted into Proxmox’s built-in shell. It’s a community project rather than an official one, so read what a script does before you run it.

Will a VM slow my computer down?

Only by what it uses: the memory it holds while running, and processor time while it’s busy. On a desktop, shut down VMs you’re not using.

Where should my Docker apps go on Proxmox?

In one Linux VM running Docker, which holds all of them. The Skip list below explains why that beats a container inside an LXC.

Can a VM use my graphics card?

Yes, through passthrough, which hands a whole graphics card to one VM. It’s an advanced project: it depends on your motherboard supporting it (a feature called IOMMU), and the host can’t use the card while the VM has it.

Also good

Skip

Next