Technical Anshu
Tutorials Blog
🧪 Nested Proxmox Lab

Run Proxmox Inside ESXi The Nested Virtualization Setup That Actually Works

One ESXi server, a complete Proxmox lab living inside it. Nested virtualization works well when two settings are right — and fails silently when they are not. This guide sets both, proves that KVM is alive inside Proxmox, and tells you honestly what this setup is for.

✍️ Technical Anshu🖥️ ESXi + Proxmox⏱️ 10 minute read
🎥 Watch the full setup in the video — Proxmox installed inside ESXi, step by step

Nested virtualization means a hypervisor running inside a virtual machine: Proxmox inside ESXi, with its own VMs and containers inside that. It is the cheapest lab there is — one server, two platforms to learn, zero extra hardware. But a default ESXi VM hides the CPU's virtualization features from its guest, so a stock Proxmox install boots fine and then refuses to start any VM. Two settings fix that: one on the ESXi side, one on the network side. This page does the full setup in order and verifies every layer before moving on.

ESXi — Edit Settings, CPU section of the Proxmox VM (recreated)
The settings that decide everything
Hardware virtualizationEXPOSE TO GUEST OS ✓
Nested Hypervisor CPU statusENABLED
CPU / memory hot plugOPTIONAL
Virtualized CPU performance countersLEAVE OFF
Without the first checkbox, Proxmox installs normally but no VM inside it can use KVM acceleration — the failure only appears when you start your first nested guest.
👆 The CPU section of the Proxmox VM in ESXi. The expose checkbox is the whole trick — everything else on this page is supporting it.
1

Before You Start — The Honest Picture

Three facts, stated plainly, because every nested lab should start with them. First: this is a lab technique. Broadcom's own vSphere documentation says VMware does not support running third-party hypervisors on ESXi, apart from narrowly documented cases such as Hyper-V for virtualization-based security. Proxmox nested in ESXi works, and thousands of home labs run it — but no vendor will take your support call about it.

Second: the physical CPU must have Intel VT-x or AMD-V, enabled in the server BIOS. ESXi cannot pass through a feature the hardware has switched off. Third: a nested setup is only as strong as the host's spare capacity. Proxmox itself needs resources, and every VM inside Proxmox spends them again. An 8 GB host will host a disappointing lab.

2

Create the Proxmox VM With Lab-Sized Resources

  1. Create a new VM in ESXi with guest OS family Linux (a Debian 64-bit profile is the closest match)
  2. Give it 4 vCPUs and 8–16 GB RAM — Proxmox idles around 1–2 GB, the rest is for your nested guests
  3. Create a virtual disk of 100 GB or more; nested VM disks live inside it
  4. Use the VMXNET3 adapter if your Proxmox version detects it cleanly, or E1000E — both work with the Debian-based installer
  5. Attach the Proxmox VE ISO to the CD/DVD drive and set it to connect at power on

Do not power it on yet. The next step is far easier with the VM off.

3

Setting One — Expose Hardware Assisted Virtualization to the Guest OS

This is the setting the whole setup stands on. It tells ESXi to hand the CPU's virtualization extensions (the vmx flag on Intel, svm on AMD) through to the Proxmox VM, so Proxmox's own KVM hypervisor can use them.

  1. Right-click the Proxmox VM → Edit Settings
  2. On the Virtual Hardware tab, expand the CPU section
  3. Tick Expose hardware assisted virtualization to the guest OS
  4. Leave Enable virtualized CPU performance counters unticked — nested hosts plus virtual performance counters are a combination with a long history of crashes in field reports
  5. Click OK. The VM's Configure tab should now show Nested Hypervisor CPU: Enabled

Requirements from Broadcom's documentation: VM compatibility of ESXi 5.1 or later, and a CPU of Intel Nehalem generation or newer (AMD Opteron Generation 3 or newer) with VT-x or AMD-V live in the BIOS.

The file-based route: on hosts where the option is awkward to reach, the same switch exists in the VM's .vmx file as the line vhv.enable = "TRUE". Add it only while the VM is fully powered off — ESXi rewrites the file of a running VM and your edit disappears.

4

Install Proxmox and Reach the Web Interface

  1. Power on the VM and boot the Proxmox VE installer from the ISO
  2. Accept the licence, choose the target disk (the virtual disk you created), and set country, time zone and keyboard
  3. Set the root password and an email address
  4. Give the management interface a static IP on your network — you will browse to it daily, so do not leave it hunting for DHCP
  5. Finish, reboot, and disconnect the ISO

From your PC, open https://YOUR-PROXMOX-IP:8006. The browser will warn about a self-signed certificate — that is normal for a fresh Proxmox and safe to proceed past on your own lab network. Log in as root with the password you set.

5

Setting Two — Open the Port Group for Nested Traffic

Proxmox itself will ping, update and browse perfectly at this point — which is exactly why this step surprises people. The VMs inside Proxmox send network frames carrying their own MAC addresses, and a default ESXi port group drops frames whose source MAC is not the MAC of the VM it knows. The nested guests go silent.

  1. In ESXi, open the Networking view and edit the port group the Proxmox VM is attached to
  2. Under Security, set all three policies to Accept: Promiscuous mode, MAC address changes and Forged transmits
  3. Save, and make sure the Proxmox VM's network adapter is actually connected to that port group

Do this on a dedicated lab port group, not on the port group your production VMs use — accepting promiscuous mode and forged transmits is a deliberate loosening of switch security, and it belongs only where nested guests live. There is a full page in this series on this one fix, because it is the most common reason a nested lab "half works".

6

Prove KVM Is Alive Inside Proxmox

Do not trust the checkboxes — ask Proxmox. Open its shell (web UI → your node → Shell) and run:

  1. ls -l /dev/kvm — the device must exist. No /dev/kvm, no hardware acceleration
  2. cat /sys/module/kvm_intel/parameters/nested — on Intel it should answer Y (on AMD, check kvm_amd the same way)
  3. egrep -c "(vmx|svm)" /proc/cpuinfo — any number above 0 means the virtualization flag reached the guest

If any of these fail, stop and fix the ESXi side (step 3) instead of fighting Proxmox — the problem is never inside the installer.

7

Create Your First Nested VM the Right Way

  1. Upload a small Linux ISO to Proxmox local storage
  2. Create a VM and set its CPU type to host — the default emulated CPU hides the very flags you just exposed, and host passes the real CPU through
  3. Use VirtIO for disk and network; 1–2 vCPUs and 2 GB RAM is plenty for the first test
  4. Start it. A VM that boots and installs at near-normal speed is the proof that the whole chain — BIOS, ESXi setting, Proxmox KVM — is working

Start light and honest: one Linux VM, then containers, then heavier guests. The video above walks this exact build on screen if any step looks different on your ESXi version.

🔴 Support reality, once more: nested Proxmox is a community-proven lab setup, not a vendor-supported configuration — Broadcom's documentation reserves nested-hypervisor support for specific documented cases only. Learn on it, test on it, rehearse migrations on it. Do not run a business on it.

🎥 Watch the Full Video

See the nested Proxmox build done live — VM creation, the expose setting, and the first guest — in the full video.

▶️ Watch Full Video
❓ Frequently Asked Questions

Proxmox installed fine but my VMs inside it will not start. Why?

That is the signature symptom of the expose setting being off. Proxmox itself is just a Linux system, so it installs and boots normally without virtualization extensions. Its KVM hypervisor, though, needs the vmx or svm CPU flag. Edit the Proxmox VM in ESXi, expand CPU, and tick Expose hardware assisted virtualization to the guest OS. Then verify inside Proxmox with ls -l /dev/kvm — the device should exist.

Is nested Proxmox safe to use for production servers?

No, and for two separate reasons. Performance: every nested VM pays a tax to two hypervisors, so CPU and disk work are measurably slower than on either platform alone. Support: Broadcom's vSphere documentation states that VMware does not support running third-party hypervisors on ESXi outside specifically documented functionality. A nested lab is for learning, testing and rehearsing — workloads that matter belong on bare metal.

Proxmox works but the VMs inside it get no network. What is wrong?

Almost always the ESXi port group security policies. Nested VMs transmit frames with their own MAC addresses, and a default port group rejects forged transmits and MAC address changes, so the traffic is silently dropped. Edit the port group your Proxmox VM uses and set Promiscuous mode, MAC address changes and Forged transmits all to Accept — ideally on a dedicated lab port group.

This guide is based on the Technical Anshu Proxmox nested VM setup video • Stuck on a step? Ask in the video comments — you will get a reply 🙏