3

I created a Virtual Machine with Virtualbox - the host system is Linux Mint Cinnamon 17.2, the guest - Windows 8.1 Pro. I enabled all acceleration features in the VM settings.

To run the WP8 emulator one needs Hyper-V. But, to my surprise, the Windows guest claims that Hyper-V is not supported.

Is it possible to use Hyper-V on a Windows guest?

2

Yes, it is now possible to use Hyper-V on a Windows guest OS, but not with VirtualBox. This technology is referred to as nested virtualization.

You can vote up the feature request for VirtualBox here. Unfortunately, that request has been around for 6 years now, and the devs initially indicated that it would only be of "limited usefulness." With more and more SW relying on virtualization (Windows Mobile Emulation, Android Emulation, Vagrant, etc.), I would hope that it becomes a higher priority. It's still being actively commented on and requested as recently as 11/16/2015, but as of May 2015 the developers still have "different priorities."

As of the Windows 10 Fall Update (and the Windows Server 2016 previews), Hyper-V is now capable of nesting a Hyper-V hypervisor:

Nested virtualization is running virtualization inside a virtualized environment. In other words, nesting allows you to run the Hyper-V server role inside a virtual machine.

source. The technology is still very new and appears to still be in preview.

The open source Xen hypervisor also claims support for nested virtualization:

Nested virtualization is the ability to run a hypervisor inside of a virtual machine. The hypervisor that runs on the real hardware is called a level 0 or L0; the hypervisor that runs as a guest on L0 is called level 1 or L1; a guest that runs on the L1 hypervisor is called a level 2 or L2.

source: http://wiki.xenproject.org/wiki/Nested_Virtualization_in_Xen

VMWare also has extensive support for multiple nesting scenarios in its commercial products:

Hyper-V requires hardware-assisted virtualization, so it can only be run under ESXi 5.0, Workstation 8, Player 4 or Fusion 4 (or later). Hyper-V performs relatively poorly as a guest hypervisor under ESXi 5.0, but it performs reasonably well under Workstation 8, Player 4 or Fusion 4 (or later). Under Workstation 9, Player 5 or Fusion 5, you should set the guest OS type to "Hyper-V."

source: http://communities.vmware.com/docs/DOC-8970

0

Short answer: no. Hyper-V features are for hosting virtual machines (VMs). As far as I know, you cannot host hardware-accelerated VMs from a VM. Kind of by definition, VMs are hosted from a host. If Linux is your host, Hyper-V is not the host.

(I guess it is possible to emulate an entire VM using software, without hardware-acceleration, but this makes the VM incredibly slow so I wouldn't recommend this. This is also not the way Hyper-V works.)

VM acceleration features allow you to use your hardware more effectively inside a VM, e.g. they might let a VM directly access a GPU. They will not, however, turn a guest into a (hardware accelerated) host.

When you install Windows 8 Pro directly on the machine, then you can add Hyper-V features to turn it into a host for VMs. I am not familiar with the WP8 emulator, but it sounds like it needs the current OS to be a Hyper-V host so that the WP8 emulator can run as a VM.

You will probably need either

  • to install Windows 8.1 Pro directly on your hardware and add Hyper-V features to host VMs;
  • to install Windows Hyper-V Server (which is free and downloadable from Microsoft's website);
  • to install the full Windows Server with Hyper-V role (not free).

I expect that the WP8 emulator cannot be installed in a guest VM by making use of a Hyper-V host in this setup.

Installing the WP8 emulator on a Windows 8 or Windows Server host shouldn't be much of a problem. However, the free Hyper-V Server might not be a practical solution for your case (unless you can install the WP8 emulator on the Hyper-V Server, which may be tricky since that is, in a sense, a stripped down version of Windows Server Core).

If/when you choose to use Hyper-V as your hypervisor (host for VMs) then you can of course also run other VMs, e.g. to run Linux. VirtualBox is also available for Windows, but I don't know if that works alongside a Hyper-V installation. Perhaps you could run your existing VMs also on a Windows VirtualBox.

Finally, I have not done this myself, but it should be possible install a dual-boot system with Windows 8.1 and Linux, so that you can alternate between which hypervisor to use. To me this always seemed like a less preferable solution, since then you cannot always run all your VMs (i.e. you cannot run your Hyper-V VM when you've booted into the Linux hypervisor). I'd prefer to pick one and stick with it for all VMs on that machine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.