Virtualization Concepts

Xen supports several virtualization modes. Understanding the differences helps you choose the right mode for your workload and hardware.

The two primary modes are paravirtualization (PV) and hardware virtual machine (HVM). Between them sit several hybrid modes that borrow features from both.

Paravirtualization (PV)

In PV mode, the guest operating system is aware that it is running in a virtual machine. Instead of emulating real hardware, Xen provides a streamlined interface (hypercalls) that the guest uses directly. This produces fast, efficient virtualization — but requires a guest OS that has been modified to use the Xen interface.

Modern Linux kernels include full PV support. Windows guests cannot run in pure PV mode.

Hardware Virtual Machine (HVM)

In HVM mode, the guest operating system runs as if it were on real hardware. Xen emulates a complete set of virtual devices (network card, disk controller, etc.) using QEMU. The guest requires no modifications and does not need to know it is virtualized.

HVM uses CPU virtualization extensions (Intel VT-x or AMD-V) to handle privileged instructions without software emulation. All modern server processors include these extensions.

The downside of full hardware emulation is overhead: emulating hardware registers and interrupts is slower than the direct hypercall interface PV uses.

Hybrid modes

In practice, pure PV and pure HVM are rarely the best choice. Hybrid modes combine elements of both to improve performance.

HVM with PV drivers (PVHVM)

An HVM guest using paravirtualized network and disk drivers instead of emulated hardware. The guest boots in HVM mode but uses the faster PV interfaces for I/O. This is often the best choice for Linux guests on hardware where PVH is not yet available.

PVH

PVH boots the guest as a PV kernel but uses hardware virtualization extensions for memory management and system calls instead of software-emulated PV MMU. The result is a fast, lightweight VM with no emulated hardware at all — no QEMU, no BIOS, no legacy boot sequence.

PVH is the recommended mode for Linux guests on modern hardware. It offers the performance of PV with the hardware support of HVM.

Choosing a mode

For Linux guests on modern hardware, use PVH if the kernel and toolstack support it. Otherwise use HVM with PV drivers (PVHVM).

For Windows guests or unmodified operating systems, use HVM.

For embedded or specialized use cases, consult the documentation for the relevant Xen sub-project.