Windows Server

Want to test Hyper-V? Use dual-boot or a spare machine


As new technology is released, I like to play with it.  This is especially true given that I write on a wide variety of topics.  Back inthe days of old, when I was tasked to write an article that required a complex lab setup, I had to drag out physical machines, install whatever I was testing onto each machine and do my best to get good screen shots.  Today, of course, virtualization makes this process a thing of the past.  In fact, when I was working on my sections of the Exchange Server 2007 Administrators Companion, I had four or five virtual machines all running the entire time.  To do what was required for that book would have been an incredible waste of time if I had to reload physical machines constantly.

Alas, I've run into a situation for which I have yet to find a solution... testing Hyper-V.  Now, it may sound lame when I say that I want to test virtualization software inside a virtual machine.  However, it's a whole lot easier to manage and it's a lot easier to get good screenshots running inside a VM.  However, when it comes to testing Hyper-V, it all goes out the window (no pun intended).  Installing the x64 edition of Windows Server 2008 that includes the Hyper-V role goes fine, but when I try to add the actual Hyper-V role, Windows indicates that a machine with a VT-enabled (and AMD-V enabled) processor is required.  VT (Intel) and AMD-V are extensions to the x86 processor family that allow a hypervisor to run and unmodified guest operating system without having to emulate a virtual processor, thereby theoretically improving overall guest performance.  VT requires more than just processor support, though.  The chipset and the BIOS must also be prepared to support this feature.

Although my host machine sports two new dual core Xeon 2.66 GHz processors, both which support VT, the VT features are not present (or enabled) in guest VM hardware or in the guest BIOS.  I've tried the following combinations:

  • Vista x64 host
    • VMware Workstation 6.0 - no VT in the guest hardware
    • VMware Server 2.0 beta - no VT in the guest hardware
    • Microsoft Virtual Server 2005 R2 SP1 - no VT in the guest hardware
    • Virtual Box - does not support 64-bit guests

I would never claim to have significant expertise when it comes to processor design and hypervisor creation.  So, I have a question... what would it take for a host processor's VT capability to be passed through to a running virtual machine?  Obviously, this would be useful mostly in test environments, but could be useful.

For now, it's time to break out a spare box!

About

Since 1994, Scott Lowe has been providing technology solutions to a variety of organizations. After spending 10 years in multiple CIO roles, Scott is now an independent consultant, blogger, author, owner of The 1610 Group, and a Senior IT Executive w...

3 comments
Scott Lowe
Scott Lowe

I also posted a message in VMware's forums. Several people there indicated that VT is NOT passed through to the VM. Although the VM might be using the host's VT by virtue of the host being VT-enabled, guests running under the virtualization software do not get VT capability themselves. You are correct. I'm on a Vista x64 host, but have tried a number of virtualization platforms in my testing. I did learn that enabling VT in a guest machine isn't as easy as "passing through" the feature... evidently, quite a lot more goes into the process.

brad
brad

As far as I understand VT (and AMD's version), that the VT moves the hypervisor from a software level to the actual cpu core. This movement dramatically improves performance of the guest os's and overall virtualization performance. Now why would you design a virtualization manager which would pass control from inside a guest os to the physical hypervisor? The guest os is not supposed to know that it is running inside a virtual machine (in a perfect world). How would it be possible for the cpu's hypervisor to be controlling the main level of virtual machines, and then also addtional virtual machines inside of a virtual machine. This level of nesting doesn't even make sense when you try and lay it out. I just don't think we will see VT inside a VM anytime soon. Brad http://x86Virtualization.com