# VDS and nested virtualization: run VMs inside your server

> What nested virtualization on a HyperDC VDS gives you, how to check it on Linux and Windows, and how to start KVM, Hyper-V or WSL 2 inside the server.

Difficulty: Intermediate\
Tested on: Ubuntu 24.04 LTS, Ubuntu 26.04 LTS, Debian 12, Debian 13, Windows Server 2022, Windows Server 2025

A HyperDC VDS is a virtual server with larger allocations, NVMe storage and one feature a VPS does not have: **nested virtualization**. The processor's virtualization extensions are passed through to your system, so you can run your own virtual machines, a hypervisor, WSL 2 or emulators inside it. This guide checks that it works and starts the most common tools. Compare plans on the [VDS hosting](/vds-hosting) page.

## Before you start

- A Linux, Windows or macOS VDS, or a nested dedicated server. VPS plans do not offer nested virtualization.
- Expect overhead: nested machines are slower than machines on bare metal, especially for disk and network I/O.

## Step 1: Check that the extensions are visible

**Linux**

```bash
grep -Ec '(vmx|svm)' /proc/cpuinfo
lscpu | grep -i virtualization
ls -l /dev/kvm
```

A count above zero and a `Virtualization: VT-x` (or `AMD-V`) line mean the extensions are available. On Ubuntu and Debian, `kvm-ok` gives a plain answer:

```bash
sudo apt install cpu-checker
kvm-ok
```

**Verify:** `kvm-ok` prints `KVM acceleration can be used`.
**Windows Server**

```powershell
Get-ComputerInfo -Property HyperV*
systeminfo | findstr /i "Hyper-V virtualization"
```

The Hyper-V requirements should show the firmware virtualization as enabled, or report that a hypervisor has been detected once Hyper-V is installed.

## Step 2a: KVM and libvirt on Linux

Install the hypervisor and the management tools:

```bash
sudo apt install qemu-system-x86 libvirt-daemon-system virtinst
sudo usermod -aG libvirt $USER
```

Log out and in again so the group applies, then check the host:

```bash
virt-host-validate qemu
virsh list --all
```

**Verify:** `virt-host-validate` reports `PASS` for hardware virtualization and `/dev/kvm`. Create machines with `virt-install` or a graphical tool such as virt-manager over SSH. To reach a service in a guest from outside, forward a port: see [ports and port forwarding](/guides/ports-and-port-forwarding).

## Step 2b: Hyper-V on Windows Server

In PowerShell as administrator:

```powershell
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart
```

The server restarts. Afterwards, open **Hyper-V Manager** or use the `Get-VM` and `New-VM` cmdlets. Microsoft documents nested Hyper-V with Hyper-V as the outer hypervisor; on other platforms it usually works but is outside Microsoft's support, so test your setup first.

## Step 2c: WSL 2 on Windows Server

On Windows Server 2022 and 2025:

```powershell
wsl --install
```

Restart when asked, then run `wsl -l -v` to see the installed distribution and its WSL version.

## Step 2d: Proxmox VE and emulators

- **Proxmox VE** can run nested for labs and training. Follow the Proxmox documentation on nested virtualization, and use a dedicated server for production clusters.
- **Android emulators** and other tools that need virtualization extensions run on a Windows VDS or a nested dedicated server; graphics-heavy apps need more resources.

## macOS VDS

macOS VDS plans offer nested virtualization too, so tools that start their own virtual machines can run inside your Mac. macOS VPS plans, including Apple Silicon macOS VPS, do not. See [macOS VPS and VDS](/guides/macos-vps).

## Performance tips

- Give nested machines virtio disks and network adapters where the guest supports them.
- Do not assign more vCPUs or memory to guests than the VDS has.
- Keep heavy disk work, such as databases, outside nested guests when you can.

## Troubleshooting

**`kvm-ok` says KVM acceleration cannot be used.** The extensions are not visible: you are on a VPS, or the server needs a restart after a plan change. Check `grep -Ec '(vmx|svm)' /proc/cpuinfo`, and open a ticket if it is zero on a VDS.

**Hyper-V installation fails with a virtualization error.** The extensions are not passed through. Check `Get-ComputerInfo -Property HyperV*` and open a ticket with the output.

**WSL reports that virtualization is not enabled.** The same cause; also make sure the Virtual Machine Platform component installed and the server restarted.

## Next steps

- Compare lines: [VPS vs VDS vs dedicated server](/guides/vps-vs-vds-vs-dedicated-server).
- Bare-metal hypervisors: [dedicated servers](/guides/dedicated-servers).

## Frequently asked questions

### What is nested virtualization?

Your virtual server receives the processor's virtualization extensions (Intel VT-x or AMD-V), so software that creates its own virtual machines can run inside it: KVM, Proxmox VE, Hyper-V, WSL 2 or Android emulators.

### Do all HyperDC VDS plans offer it?

Yes. We call a server a VDS only when nested virtualization is available. VPS plans, including Apple Silicon macOS VPS, do not offer it.

### Is a nested VM as fast as one on bare metal?

No. Every layer adds overhead, especially for disk and network heavy work. Development, testing, labs and emulators run well; production workloads that need the whole machine belong on a dedicated server.

### Can I install Proxmox VE on a VDS?

It can run as a nested hypervisor for labs and testing. For a production Proxmox cluster, use dedicated servers so the hypervisor runs directly on the hardware.

### Can I use WSL 2 on a Windows VDS?

Yes. Nested virtualization makes WSL 2 available on Windows Server 2022 and 2025; install it with wsl --install and restart.

---

Source: <https://hyperdc.com/guides/products/vds-nested-virtualization>\
Updated: 2026-10-09
