I've been playing with virtual machines lately, and I wondered if I could run a virtual machine inside a virtual machine.
Is this possible?
Is it practical?
Virtualization – Setting Up a VM Inside Another VM
virtual-machinesvirtualization
Related Topic
- Is it possible to find information about host machine from inside virtual machine
- Windows – How to Check if Running on a Virtual Machine
- Web-server – Accessing server running inside virtual machine
- Security – Can a virtual machine (VM) “hack” another VM running on the same physical machine
- How to detect hypervisor host name/IP from inside a KVM virtual machine
Best Answer
Nesting VMs is something that has been done for forever on IBM Mainframe hardware. That hardware does lots of stuff to make the process very very efficient. You can have VMs nested to an arbitrary depth and it works very well.
PC hardware very recently has kinda made this barely possible. A document on VMware's web site discusses it, but the gist is that you can have VMs nested 2 deep, but only on very modern hardware that supports true hardware virtualization (VT-x or AMD-V), and the second VM depth must be running the older style BT/binary translation style virtualization. There are also severe restrictions on the virtual monitors you're able to run on the inner guest.
Needless to say, it's not supported and I'd expect it to be really flakey if you do anything even remotely weird (like Hyper-V under ESX). And performance will not be good, regardless of if it is stable.