VMware

Running Nested VMs

VERSION 5 Published

Created on: Nov 30, 2008 6:17 PM by jmattson - Last Modified:  Oct 9, 2009 9:52 AM by jmattson

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
Average User Rating
(5 ratings)




Dec 27, 2008 2:02 AM tom howarth  Moderator  says:

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

VMware Developer

SDKs, APIs, Videos, Learn and much more in the Developer community.

Learn More

Developer Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

VMware vSphere

Come witness the next giant leap in virtualization.

Register Today

Communities