What Is a Nested Hypervisor — and Why Use It for Testing Proxmox VE?

A nested hypervisor is a virtualization setup where you run a hypervisor inside another hypervisor. In simpler terms, it’s “virtualization inside virtualization.”

Normally, a hypervisor like KVM, VMware ESXi, or Proxmox VE runs directly on physical hardware to manage virtual machines. But with nested virtualization, you can install one hypervisor (for example, Proxmox VE) inside another (such as KVM on Ubuntu).

This layered setup is particularly useful for testing, learning, and development environments where dedicating physical hardware to each hypervisor isn’t practical.

Here’s why nested virtualization is a great choice for Proxmox testing:

  • Experiment Safely – You can try Proxmox features, updates, or clustering without affecting your production servers.

  • Learn Proxmox Internals – Perfect for training, lab exercises, or certification practice.

  • Simulate Complex Environments – Build multi-node clusters or test backup and migration workflows—all from your main workstation.

  • Save Hardware Costs – Run entire Proxmox environments within your existing system, even on your powerful laptop, no extra servers needed.

In short, running Proxmox VE in a nested KVM environment on Ubuntu gives you a complete, sandboxed virtual lab—ideal for exploration, demos, or DevOps automation testing.

 

If you’re on Ubuntu 24.04 and want to experiment with the latest Proxmox VE 9.0 without dedicating a physical machine, running Proxmox inside a KVM virtual machine is a smart choice. This nested setup enables you to test clusters, backup strategies, or hypervisor workflows without extra hardware.

This guide leads you through every step—from preparing Ubuntu, enabling nested virtualization, creating the VM, to installing Proxmox VE 9.0 and accessing its UI.

 


Step 1: Prepare Ubuntu 24.04 with KVM

1.1 Check CPU Virtualization Support

On your Ubuntu host, run:

egrep -c '(vmx|svm)' /proc/cpuinfo

If the result is 1 or more, your CPU supports hardware virtualization.

1.2 Install KVM & Virtualization Tools

sudo apt update
sudo apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager

Check that libvirtd is active:

sudo systemctl status libvirtd

You should see it running (active).


Step 2: Enable Nested Virtualization

To allow your virtualized Proxmox VM to itself host VMs (i.e. nested), nested virtualization must be enabled.

2.1 Check if Nested Virtualization is Already Enabled

Ubuntu’s kernel often enables nested by default. You can check:

# For Intel
cat /sys/module/kvm_intel/parameters/nested  
# For AMD
cat /sys/module/kvm_amd/parameters/nested

If it returns Y or 1, nested is active. (Ubuntu Documentation)

2.2 Enable Nested Manually (if not active)

If nested is not enabled:

  • Unload the module:
    sudo modprobe -r kvm_intel   # for Intel  
    sudo modprobe -r kvm_amd     # for AMD
    
  • Reload with nesting:
    sudo modprobe kvm_intel nested=1
    # or for AMD
    sudo modprobe kvm_amd nested=1
    
  • Make it persistent:
    echo "options kvm_intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf
    # or for AMD:
    echo "options kvm_amd nested=1" | sudo tee /etc/modprobe.d/kvm-amd.conf
    

Afterwards, verify again via the same cat ... nested command. (Ubuntu Documentation)


Step 3: Download Proxmox VE 9.0 ISO

Grab the official Proxmox VE 9.0 ISO from the Proxmox website:
Proxmox VE 9.0 ISO Installer is available. (Proxmox)

For example:

wget https://enterprise.proxmox.com/iso/proxmox-ve_9.0-1.iso

(Replace URL or version if needed per the download page.)


Step 4: Create a VM for Proxmox Using Virt-Manager

  1. Launch Virt-Manager:
    virt-manager
    
  2. Click Create a new virtual machine → choose “Local install media (ISO)” → select your Proxmox 9.0 ISO.
  3. Allocate resources (suggested minimums):
    • CPU: 4 cores
    • RAM: 8 GB (or more)
    • Disk: 64 GB or more
  4. Before starting the installation, click Customize before install:
    • Under CPU settings, use Copy host CPU configuration (or host-passthrough) so that VT-x / AMD-V is passed through.
    • In CPU feature list, ensure virtualization flags (vmx / svm) are exposed.
    • For networking, choose Bridged mode if you want Proxmox to be reachable on your LAN, or NAT for isolated testing.
  5. Finish the setup and boot the VM.

Step 5: Install Proxmox VE 9.0 in the VM

When the VM boots from the ISO:

  1. Choose Install Proxmox VE (Graphical Installer).
  2. Accept the license.
  3. Select the target disk.
  4. Set the root password and email address.
  5. Configure network settings (static IP is recommended).
  6. Complete the installation and reboot the VM.

 

 


Step 6: Access the Proxmox Web UI

After reboot:

https://<proxmox-vm-ip>:8006

Log in using:

  • User: root
  • Password: (the one you set)
  • Realm: PAM

You should see the Proxmox VE 9.0 management interface.


Step 7: Performance & Configuration Tweaks

  • Use fixed memory (disable ballooning) to avoid unexpected memory shifts.
  • Ensure your VM CPU mode is “host-passthrough” or “host-model,” to allow proper instruction sets for nested operations.
  • Use VirtIO drivers for both disk and network inside Proxmox to boost performance (paravirtualized drivers).

Summary

StepWhat You Do
1Prepare Ubuntu 24.04 with KVM installed
2Enable nested virtualization on the host
3Download Proxmox VE 9.0 ISO
4Create a VM (with CPU passthrough & bridged networking)
5Install Proxmox in the VM
6Access Proxmox via browser
7Fine-tune for nested performance

Final Notes & Caveats

  • Nested virtualization introduces overhead; performance won’t match bare-metal setups.
  • Some features (live migration, snapshots, advanced CPU features) may not work perfectly in nested mode. (Proxmox VE)
  • Always keep both your Ubuntu host and the Proxmox VM updated, especially to get bug fixes and nested virtualization improvements.