Migrate to RunxBuild and earn up to $50 in hosting credit on your first deposit.

Calculate your savings
unxBuild

Windows Virtual Machine: When You Actually Need One and When You Don't

Sean

Platform Writer

Jun 30, 2026
5 min read

A Windows VM on a Linux host is the right tool for IE-mode testing, signed-driver work, Office automation, and the rare case where a build must run on Windows itself. It is the wrong tool when CI just needs to cross-compile or run a Linux binary on a Windows server.

Windows Virtual Machine: When You Actually Need One and When You Don't

Table of contents

Why a Windows VM at all

Most teams do not need one. The team that ships a Linux app and wants a Windows runner for one job in CI can use a hosted runner. The team that needs a full Windows desktop, a signed driver, or a long-lived Office automation script is the team that benefits from a real VM.

The right platform depends on the workload. KVM on a Linux host is fine for most workloads. Hyper-V is the right choice if the host is Windows Server. VMware is the right choice if the team already runs a vSphere cluster. The wrong choice is the one that requires the team to learn a new platform just for one workload.

Pick the hypervisor

The three choices that matter in production:

  • KVM + libvirt on a Linux host. Cheap, fast, mature. The right choice for most teams.
  • Hyper-V on Windows Server. The right choice if the host is Windows and the team uses Hyper-V failover clustering.
  • VMware ESXi on dedicated hardware. The right choice if the team already runs a vSphere cluster or needs vMotion for live migration.

Provision the VM

The minimum that works: an ISO or a cloud image, 2 vCPU, 4 GB RAM, 60 GB disk, a NIC bridged to the host’s network. The team that wants unattended setup uses virt-install with a kickstart file. The team that wants the GUI uses virt-manager.

On Windows: New-VM in Hyper-V Manager or PowerShell. The team that wants a quick test uses Quick Create in Hyper-V Manager and downloads a Windows 11 dev environment.

Move files in and out

The team that needs file transfer on a regular basis sets up a shared folder (KVM virtiofs, Hyper-V SMB share, VMware shared folder). The team that needs one-off transfer uses scp (OpenSSH Server on Windows 10/11) or a network share. The team that needs to copy a 10 GB file uses a shared folder; scp over a 1 Gbps link takes 90 seconds but loses the connection on a flaky network.

What usually goes wrong

The four things that bite teams:

  • Time drift. Disable time sync on the VM (KVM tools, Hyper-V time sync); let NTP handle it.
  • Disk pressure. Provision thin-provisioned disks with monitoring; thick-provisioned disks eat host space without warning.
  • Network MTU. The bridged network defaults to 1500; the team that moves to a VXLAN overlay needs to tune the MTU on the guest.
  • License activation. Windows VMs on a non-Microsoft hypervisor need a custom unattend.xml to suppress automatic activation.

Snapshots vs full backups

The right VM backup strategy is layered: snapshots for fast rollback, full backups for disaster recovery.

Snapshots are point-in-time copies of the VM disk. They’re fast (seconds), cheap (incremental), and perfect for “I just installed a service pack, let me roll back if it breaks”. The team that relies on snapshots alone has a problem: snapshots live on the same storage as the VM. A storage failure loses both.

Full backups are copies of the VM to a separate location (different disk, different server, different cloud). They’re slower (minutes to hours) and bigger (full VM size), but they survive a storage failure.

The right pattern: snapshot every 6 hours, full backup every night. The team that uses both has fast rollback for recent changes and full recovery for disasters.

Networking the VM right

The three networking modes and when to use each:

  • NAT. The VM shares the host’s IP. Outbound traffic from the VM appears to come from the host. Inbound traffic requires port forwarding. The right choice for dev VMs that need internet access but don’t need to be reachable from the network.
  • Bridged. The VM gets its own IP on the host’s network. Outbound and inbound traffic work without port forwarding. The right choice for servers that need to be reachable from other machines.
  • Host-only. The VM can talk to the host and other VMs on the same host-only network, but not to the internet or the host’s network. The right choice for isolated test environments.

The team that uses NAT for a web server has users who can’t reach the server. The team that uses bridged has a VM on the network with the right configuration.

FAQ

Do I really need a Windows VM?

If the workload runs on Linux, no. If the workload needs a real Windows desktop, signed drivers, or Office automation, yes. If the workload is just cross-compilation, use a hosted Windows runner for the one job that needs it.

KVM vs Hyper-V vs VMware?

KVM is the right choice on a Linux host. Hyper-V is the right choice on Windows Server. VMware is the right choice if the team already runs vSphere. There is no universal winner.

How much RAM does a Windows 11 VM need?

4 GB minimum, 8 GB for Visual Studio, 16 GB for comfortable development. The team that runs Windows Server in a VM gets away with 2 GB because Server Core has no GUI.

Can I run a Windows VM on a Mac with Apple Silicon?

Yes, with UTM or Parallels. Performance is limited by the Rosetta-like translation; native ARM64 Windows is the right call when available.

How much disk space does a Windows VM need?

60-100 GB minimum. Windows 11 itself takes 30-40 GB after updates; the team that adds Visual Studio, Office, or other apps needs more. The team that uses dynamic allocation gets a sparse file that grows as needed; the team that uses fixed allocation gets the full size immediately.

Can I run multiple Windows VMs on one host?

Yes, as long as the host has the CPU, memory, and disk for all of them. A 16-core, 64 GB host can run 4-6 Windows VMs comfortably. The team that overcommits has a slow host.

Do Windows VMs on Linux need a Windows license?

Yes, for the OS itself. The evaluation ISOs give 90 days of free use. The team that wants long-term use needs a license (~$140 for Windows 11 Pro).

If you are sizing the infrastructure for the kind of project this post covers, the RunxBuild hosting calculator is the right place to model the line items. The compute, the memory, the storage, the bandwidth, the database - each one is a separate number, and the team’s mental model for the platform is the sum of those numbers. The RunxBuild dashboard is where the team sees the actual usage in one place.

Useful related references:

#windows#virtual machine#vm#vmware#hyper-v