Hardware virtualisation solutions are really convenient. They allow you to try all sorts of operating systems and software on your existing computers, without having to buy additional hardware. But here’s something interesting. Can you run one virtualisation software inside another virtualisation software? Yes, you can do that too.
A feature called Nested Virtualisation allows you to run one virtualisation software within another virtualisation software. Nested virtualisation needs to be supported and turned on in the lower layer virtualisation software.
I was trying to test out something on VMware’s ESXi hypervisor, and I wanted to just do it on my own notebook, so that I don’t have to bother with the hassle of finding a spare computer. On my notebook, which is a Retina MacBook Pro, I have Parallels Desktop installed. My plan was to run VMware ESXi inside Parallels Desktop.
Nested virtualisation isn’t enabled by default in Parallels Desktop. The option may or may not be available depending on the virtual machine type that is used. In Parallels Desktop, make sure to choose a virtual machine type for, say, Windows 10. Then look under the virtual machine’s Settings, Hardware, CPU & Memory, to find an Advanced Settings. In there, turn on Enable nested virtualization.
Now, you can install and run VMware ESXi, inside Parallels Desktop, on Mac OS X. It’s quite cool. Just make sure you give ESXi enough RAM and disk space for it to be useful.
Then, of course, from within VMware ESXi, you could run other operating systems. Another OS X perhaps?
Now, the next question is, can you run a virtualisation software inside another virtualisation software, which is itself running inside yet another virtualisation software? I think so, in principle, though it’s not something I’ve tried.