Requirements
It is only possible to run nested VMs when the outer VM uses hardware virtualization (Intel's VT-x or AMD's AMD-V) and the inner VM uses the classical BT (binary translation) monitor. You may run any 32-bit or 64-bit operating system as the outer guest. You may only run 32-bit operating systems as the inner guest. These configurations are entirely unsupported.
Nested VMs are only possible when the host is running ESX 3.0 (with some caveats), ESX 3.5 (some AMD CPUs only), Workstation 6.x, or Fusion. Note that you cannot run nested VMs on Intel systems when the host is running ESX 3.5.
See the appropriate section below for the configuration options required for the two guests.
Intel VT-x Hosts
Intel VT-x is supported on most Core, Core 2, Core i7 and Core i5 processors, and on some late-model P4 processors. Current VMware products only support VT-x on 64-bit (EM64T) Intel processors.
Before you can use VT-x, you have to enable it in the host BIOS. For the BIOS change to take effect, you must power-cycle your system after enabling VT-x. Some systems do not have a VT-x setting in the BIOS. If your system falls into this category, complain to the system vendor. Many BIOSes have bugs in their VT-x support. Common errors include enabling VT-x only on a subset of the logical cores or neglecting to re-enable VT-x when waking from hibernation. If your system falls into this category, complain to the system vendor.
ESX 3.0
The configuration file for the outer guest should contain the following line:
monitor_control.vt32 = TRUE
The configuration file for the inner guest should contain the following line:
vmx.allowNested = TRUE
Note that the 'vmx.allowNested' option is not supported by older VMware products. For nested VMs to work on an ESX 3.0 host, the VMware product running in the outer guest must be Workstation 6.0 or later or ESX 3.5 or later. Furthermore, you must not use the backdoor in the inner guest. In particular, this means that you must not install VMware tools in the inner guest.
Workstation 6.0 and Fusion 1.x
The configuration file for the outer guest should contain the following lines:
monitor_control.vt32 = TRUE
monitor_control.restrict_backdoor = TRUE
Workstation 6.5, Fusion 2.x and ESX 4.0
The configuration file for the outer guest should contain the following lines:
monitor.virtual_exec = hardware
monitor_control.restrict_backdoor = TRUE
AMD-V Hosts
AMD-V is supported on Rev F and later Family 0FH AMD64 processors, but current VMware products only support AMD-V on Family 10H or later AMD64 processors (Barcelona or Phenom). Thus, you can use AMD-V on Family 0FH Rev F and Rev G processors with Workstation 6.0. However, you need a Family 10H processor to use AMD-V with ESX 3.5 and Workstation 6.5.
ESX 3.0
The configuration file for the outer guest should contain the following line:
monitor_control.enable_svm = TRUE
The configuration file for the inner guest should contain the following line:
vmx.allowNested = TRUE
Note that the 'vmx.allowNested' option is not supported by older VMware products. For nested VMs to work on an ESX 3.0 host, the VMware product running in the outer guest must be Workstation 6.0 or later or ESX 3.5 or later. Furthermore, you must not use the backdoor in the inner guest. In particular, this means that you must not install VMware tools in the inner guest.
Workstation 6.0
The configuration file for the outer guest should contain the following lines:
monitor_control.enable_svm = TRUE
monitor_control.restrict_backdoor = TRUE
ESX 3.5
The configuration file for the outer guest should contain the following lines:
monitor.virtual_mmu = hardware
monitor_control.restrict_backdoor = TRUE
Workstation 6.5 and ESX 4.0
The configuration file for the outer guest should contain the following lines:
monitor.virtual_exec = hardware
monitor_control.restrict_backdoor = TRUE
Nice piece of work,
If you found this or any other answer useful please consider the use of the Helpful or correct buttons to award points
Tom Howarth
VMware Communities User Moderator
Blog: www.planetvm.net