2

Does anybody know if it is possible to try out "XP Mode" in Windows 7, if Windows 7 is running inside of Virtualbox? The processor I'm running includes the VT-x capability and it is enabled in the BIOS. Theoretically VT-x allows for nesting (ie. running Xen inside of an other instance of Xen), however I couldn't get the guest Windows 7 OS to detect the availability of VT-x.

Does Virtualbox support this? What do I need to configure? Alternatively, does VMWare support this?

Update: thank you to everybody who responded. After doing further research and experimentation myself, I found that this currently isn't possible, although theoretically it would be (my original motivation was to play around with XP Mode without physically rebooting the machine - I guess I'll have to byte the bullet and do a full install / reboot physically). Further reference:

From VMWare community (emphasis added):

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.

Virtual PC 2008 uses the equivalent of "hardware virtualization" not "binary translation", and as such, it is incompatible with the scenario described.

From Invisible Labs (emphasis added):

We can now virtualize complex hypervisors, like e.g. Virtual PC 2007 or Virtual Box with SVM turned on (BTW, we can also run VMWare Workstation, but that doesn't count, as on AMD processors it doesn't make use of SVM instructions). We also have a prototype code that allows to run nested hypervisors on VT-x but that code requires a bit of more polishing (oh, didn’t you know that our NBP also supports VT-x these days?).

The conclusion is that it is technically possible, but no product implements it yet. I will award the bounty anyways.

Grey Panther
  • 988
  • 8
  • 12
  • why did you award the bounty to an answer that didn't answer the question? My answer told you that you were unable to do it because of the requirement for hardware extensions. You've described that above but then accepted the answer from someone who didn't mention that at all. – JamesRyan Aug 11 '09 at 14:32
  • I didn't award the bounty to the particular answer, because technically, it is incorrect (see the updates to the question): the VT-x technology does support nesting, it is just that no currently available product implements support for it. – Grey Panther Aug 12 '09 at 09:10

5 Answers5

2

Latest VMWare products (ESX 4, Server 2, Worsktation 6.5) support recursion (aka nesting); I've succesfully ran ESX itself inside all of them, with another VM inside it.

Massimo
  • 68,714
  • 56
  • 196
  • 319
1

OK, verified this using Vbox 3.2 on Fedora 11 x86_64, on ThinkPad T400 with VT enabled and working.

Win7 x32, with the XP package installed, will not start XP mode, complaining the machine is not VT enabled.

dyasny
  • 18,482
  • 6
  • 48
  • 63
1

Win 7 XP Mode requires VT extensions on the host cpu so you won't be able to nest it because the VT extensions can't be virtualised. The type of VM you have windows in doesn't matter.

The VMs that you can nest are ones where those extensions are not required or it is an optional optimisation (in the guest VM). Eg. Vmware, VirtualPC, etc.

Nesting VMs is not recommended because it adds a big overhead and in some cases additional security problems. And it shouldn't really ever be necessary.

JamesRyan
  • 8,138
  • 2
  • 24
  • 36
  • this is correct. you can verify this by installing VirtualBox in your Win7 guest; you will not be able to enable VT in the guest OS – brad.lane Aug 06 '09 at 04:12
0

It's posible with VMLite at www.vmlite.com

-1

VM in a VM? Not likely to work (although I don't know the specifics of why)

tomfanning
  • 3,308
  • 6
  • 33
  • 34
  • why not? I've run quite a few of them – dyasny Aug 05 '09 at 10:43
  • I'm sure I've previously tried (perhaps MS Virtual PC?) and it was blocked. What scenario have you tried? – tomfanning Aug 05 '09 at 11:00
  • Something in the lines of windows XP running free vmware server as host, with another windows running vmware/virtualbox as guest, running linux as it's own guest running dosbox and qemu – dyasny Aug 05 '09 at 11:04
  • Presumably the various levels of virtualisation aren't "recognising" each other in the way that VPC inside VPC did. Updating my answer to match. – tomfanning Aug 05 '09 at 12:33