Welcome!

Ben Armstrong

Subscribe to Ben Armstrong: eMailAlertsEmail Alerts
Get Ben Armstrong via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Related Topics: Virtualization Magazine

Virtualization: Article

Virtualization - How Come Hyper-V Doesn't Feel Like a Hypervisor Based Solution?

How is it different from the Virtual Server type experience?

When I have talked to people about Hyper-V - I have often come across the sentiment that Hyper-V doesn't feel like a hypervisor based virtualization solution.  You install Windows, enable a role and then have virtual machines - how is this different from the Virtual Server type experience?

So let me step you through this:

  1. The first thing you do with your server is to install Windows Server 2008.  At this stage no virtualization is involved - and it is just plain old Windows.
  2. Once you have done this you enable the Hyper-V role and reboot the computer. Now things get interesting...
  3. Windows starts to boot on the computer, just like it always has, but one of the boot critical drivers (the drivers that get loaded first in the boot process) is now HvBoot.sys which launches the hypervisor - and practically insert it underneath the now booting copy of Windows.
  4. Windows continues to boot - relatively unaware of the fact that this has happened.
  5. Once Windows is up and running you can create virtual machines using the Hyper-V user interface. 
  6. These virtual machines run as partitions on the hypervisor - with the first partition being the operating system you appear to be running.

So what does this mean for the copy of Windows you initially installed on the physical computer?  Well, unlike the virtual machines that you create after installing Hyper-V, this installation of Windows continues to have direct access to the physical hardware and memory in the system.  However, the hypervisor is completely managing its access to CPU resource and system timers. 

For the most part we have worked hard to not have this be exposed in the parent partition - but there are two interesting places where it shows up.  The first is when it comes to accounting for CPU usage (as discussed in this post).  The second is when it comes to looking at CPU capabilities.  When the hypervisor launches it actually starts "lying" about the CPU capabilities to all the partitions (including the parent partition).  It does this so that no software in the guest operating systems try to use CPU functionality that the hypervisor now controls.  The most obvious capability that the hypervisor hides is support for hardware virtualization:

securable

If you look at this screenshot you will see that I am running a virtual machine on Hyper-V - and must, therefore, have hardware virtualization support in my system.  However a copy of securable in the parent partition is reporting that hardware virtualization is not available.  This is because the hypervisor has loaded and is changing the information being reported here.

More Stories By Ben Armstrong

Ben Armstrong is a Program manager on the core virtualization team at Microsoft. His popular "Virtual PC Guy's Weblog" is at http://blogs.msdn.com/virtual_pc_guy/.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.