Virtual PC Guy's Blog

-- Ben Armstrong, Virtualization Program Manager

Talking about core virtualization at Microsoft (Hyper-V, Virtual PC and Virtual Server).

Welcome to MSDN Blogs Sign in | Join | Help

Hyper-V versus Desktop Computing

Some of my colleagues were talking to me about this blog entry this morning where Emmanuel is commenting on the inability to run Hyper-V on a system with high end graphics (as discussed here).

Before I talk about my thoughts / reactions here – I want to be clear:  Yes, this is a short coming in Microsoft’s virtualization offerings today. 

Hyper-V has been developed to be a great solution as a dedicated virtualization server, not as a desktop computing environment.  Similarly, Windows Virtual PC has been developed as a great application compatibility solution.  This means that neither of these solutions are ideal for people who want to use server class virtual machines (64-bit, multiprocessor, etc…) on a system that they also want to get a high fidelity desktop experience on.

Here at Microsoft we are well aware of the pain / problems this causes.

Despite that, I still feel frustrated when I see someone stating that they / their company is going to go with VMware because of this issue.  There are the three big reasons why:

  • Of all the different user groups that use virtualization, this is closest to my usage of virtualization, and I have a great time using Microsoft virtualization technology.  I have three main environments where I use Microsoft virtualization:

    • At home:

      My main desktop computer, which I use to do everything (work, gaming, being a nerd), is a quad-core system with 4GB ram and a nice video card.  I have Windows 7 installed on it with Windows Virtual PC.  I then have a Hyper-V server in the mezzanine under my stairs.  It is a quad-core system with 8GB ram and an old PCI video card that I had laying around.

      I have Remote Desktop and remote Hyper-V management enabled on my Hyper-V server, and I do all my Hyper-V work from my desktop environment.  The experience is great – and I have never hit a situation where I would have preferred to have Hyper-V running locally.  I also often run Windows Virtual PC and Hyper-V virtual machine at the same time and interact with both on the same desktop.

    • At work:

      Once again, I have a desktop system running Windows 7 with Windows Virtual PC (but this time it is a quad-core hyperthreaded Nehalem with 6GB of ram).  This system is actually a quad-monitor system with two high-end graphics cards (this is where I do all of my writing and email at work).

      For my Hyper-V work I have three low-end servers in our lab (all dual core with 4GB ram) that are setup with KVM over IP.  I often rebuild these machines with new builds of Hyper-V as they come out internally – but most of the time they are setup as a cluster (the third server acts as a software iSCSI provider).  And as with at home, I use the Hyper-V remote management tools to be able to do everything from my desktop.

    • On the road:

      I have been very picky building my laptop, as I demonstrate Microsoft virtualization technology with it a lot.  I usually have my laptop configured with 2 + N operating systems.  The “N” figure varies on how many demos I have coming up (I never do public demonstrations from the operating systems that I use for day to day work – as I have a high tendency to mess them up in interesting ways). The base 2 operating systems, however, are Windows 7 with Windows Virtual PC and Windows Server 2008 R2 with Hyper-V.  I boot into which ever operating system is appropriate given what I need to be doing at the time – and have not really found this to be much of an issue.

  • Setting up a dedicated Hyper-V server is really not an unreasonable proposition for most people in this situation. If you are in an environment like this – have you looked into what it would mean to have a dedicated Hyper-V server “under the stairs” / “in the lab”? 

    As I was writing this post, I went to newegg.com and built what I felt to be a good basic Hyper-V server.  The system I built ended up having a Intel Core2 Quad Q9400 2.66GHz processor, 8GB of DDR2 1066 memory, 2 Gigabit network adapters and 1 TB of storage – all for $606.91 (note, that I did not go for the cheapest components here either.  I went for cheaper components that were from manufacturers that I knew, or were components with good reviews.  You could probably knock another $100 off this by going for the cheapest possible components – but I really would not recommend doing that).

    To put that in perspective, if I were to upgrade my desktop video card to the latest available – I would be looking at spending $500 - $600.

  • Your decision may end up costing you more in the long term.

    Yes, VMware has free offerings (as does Microsoft).  But just as Microsoft is going to work to get you to pay for licenses of Windows to run on your free Hyper-V server, VMware is working hard to make sure that customers who start on their free offerings are enticed to “step up” to their paid offerings.

    Two years from now, when you have spent thousands (if not tens of thousands) of dollars for VMware technology (when you have already paid for the Windows licenses to run in the virtual machines) – will it really have been worth it to go with VMware instead of grabbing a dedicated entry level server to run Hyper-V?

This last point is really the one that chaffs me. 

If you tell me that you are going to use VMware workstation on your personal development system because we do not meet your needs – okay, I am bummed by that, but I can understand your reasoning.  If you tell me that your company is going to standardize on VMware because there is functionality / value that they provide in their server software that we do not – once again, bummer, and we will work hard to turn this around in the future – but I can understand that too.

But if you tell me that your company is going to standardize on VMware across the board because Hyper-V does not run well on your desktop environment, and you are not willing to get a dedicated entry level server to run Hyper-V, I cringe – because I do not believe you are heading in the right direction.

So where do we go from here?  Well, I am planning to do some posts in the near future where I am going to dig into the issue of high-end graphics + Hyper-V so that you can have a better idea of what is happening there – and what you can do to avoid it (yes, there are options available).

If there is anything else I can do to help here, please let me know (and before you say it “fix Hyper-V to run well on my desktop environment” is a bit out of scope for me personally :-)).

Cheers,
Ben

Published Friday, August 21, 2009 3:42 PM by Virtual PC Guy

Comments

# re: Hyper-V versus Desktop Computing

I honestly think you've missed the main point of his argument, which impacts me as well.  I understand the technical reasons and business priorities related to support of high-end graphics under Hyper-V.  But what I don't understand is the seemingly non-technical reasons for the lack of support for any Microsoft virtualization products on Server 2008 R2 other than Hyper-V.

I have a hard time believing that anything changed between 2008 and R2 that would prevent Virtual Server 2005 or VPC 2007 from operating correctly.  Or even anything so different between Win7 and 2008 R2 that you couldn't run VPC for Windows.  Suggesting additional hardware as a workaround doesn't really help much.  Why should I need to have two 2008 R2 machines just to run a VM if my primary computer has a nice video card?

Now I'm having to migrate the Virtual Server VMs on my development 2008 R2 "workstation" laptop to a non-Microsoft virtualization product, in my case Sun VirtualBox.  It works perfectly, free, is easy to install, and even uses my existing VHDs.  I'm happy with it, but it seems kind of silly that I have to use a competing product to keep the functionality I had before upgrading to R2.

Saturday, August 22, 2009 12:41 AM by JeffS

# re: Hyper-V versus Desktop Computing

Hi JeffS -

"What I don't understand is the seemingly non-technical reasons for the lack of support for any Microsoft virtualization products on Server 2008 R2 other than Hyper-V"

There is a simple non-technical reason. Feature prioritization and limits on people / time.  Supporting other Microsoft virtualization products on Server 2008 R2 would involve testing and potentially fixing them.  The time that that would take was used instead to develop and test new functionality in Hyper-V and Windows Virtual PC.

"I have a hard time believing that anything changed between 2008 and R2 that would prevent Virtual Server 2005 or VPC 2007 from operating correctly."

We have not tested this, so I cannot comment.  Keep in mind that 1) the only blocks that are in place today are the one that stops Virtual Server from running on 2K8 R2, and one that stops Virtual PC 2007 from running when Windows Virtual PC is installed, and 2) the original blogger is reporting an issue that occurred when running Virtual PC 2007 on 2K8 R2.  Clearly something has changed, I do not know what as we have not tested this.

"Now I'm having to migrate the Virtual Server VMs on my development 2008 R2 "workstation" laptop to a non-Microsoft virtualization product, in my case Sun VirtualBox."

To quote myself:

"If you tell me that you are going to use VMware workstation on your personal development system because we do not meet your needs – okay, I am bummed by that, but I can understand your reasoning.  

...

But if you tell me that your company is going to standardize on VMware across the board because Hyper-V does not run well on your desktop environment, and you are not willing to get a dedicated entry level server to run Hyper-V, I cringe – because I do not believe you are heading in the right direction."

Cheers,

Ben

Saturday, August 22, 2009 2:56 AM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

I agree with the sentiment that not being able to run Hyper-V on my shiny quad core HP workstation was a bummer.

I ended up removing NVidia driver and running plain graphics driver that shipped with Server 2008. I did lose ability to use dual monitors.

I am going to upgrade client machine and server to win 7 / 2008 R2 to see if I can get dual monitor support in remote desktop.

Tony posted some workarounds about running Hyoer-V on desktop systems and still getting good performance.

http://blogs.msdn.com/tvoellm/archive/2009/04/06/why-does-my-desktop-box-slowdown-when-i-install-hyper-v.aspx

Saturday, August 22, 2009 3:51 AM by Gaurav Bindlish

# re: Hyper-V versus Desktop Computing

Hi Ben,

even when the scenario described in your post may work for you, this is not common in most organizations where it-guy or devs have more than one machine sitting next on their desks.

Let's look at most of the guys who are working with VMs for demoing Server bits or doing development like SharePoint where you are forced to use VMs. They commonly use Laptops (for mobility reasons) or one powerful Workstation for work.

So we have two main issues with this. First you have to maintain at minimun two seperate machines (taking time to admin, keep the OS current, etc.). And secondly this scenario hits completely agains all efforts for green computing where you are looking for every reason to save energy.

And for this reasons it would be great to see Microsoft bringing some kind of Desktop Virtualization technology which can be used either on the desktop OS or make Hyper-V compatible with High-End Graphics.

Regards,

Artur

Saturday, August 22, 2009 6:29 AM by Artur

# re: Hyper-V versus Desktop Computing

Hey Ben,

I'm really pleased to see you're aware of the pain this issue causes - having recently spent (for me) a fairly significant amount of money on a new desktop machine to run Hyper-V and then discovering this issue, I'm particularly interested to hear about the options you've got for sorting this out.

In my case, and I suspect for many others as well, I'm not interested in the high-end graphics side of things - I couldn't care less if the machine runs Flight Simulator and other games, or even Aero. All I care about is being able to run multiple monitors at a decent resolution and colour depth so that I can use the machine on a daily basis.

I understand there are technical reasons why this isn't possible, and I know that Hyper-V is a server product. (Had I known all of this when I purchased my machine, I probably would have taken your suggestion of having a separate Hyper-V server under the stairs - it's a bit late for that now though.) But still, as you've said, it's very frustrating to be left with the options of having no multimon or running buggy XP drivers (which BSOD my machine every few days). I also am avoiding upgrading to R2 as I've heard this will cause havoc with the way I've got my system going now.

Anyway, I just wanted to get that all off my chest. I appreciate that there are technical reasons behind this problem that aren't easy to fix, and that this probably isn't a priority given the other things you want to do with Hyper-V. Like I said, I'll be waiting with interest to hear what your suggestions are.

Cheers

John

Saturday, August 22, 2009 7:27 AM by John Downs

# re: Hyper-V versus Desktop Computing

Is there a technical reason (not just a licensing/policy reason) why Hyper-V can't run on 64-bit Windows 7?

It seems strange that developers need to run Windows Server 2008 R2 Enterprise as a desktop OS (see http://www.win2008r2workstation.com/)  to get the benefits of Hyper-V.

MS should offer a Windows 7 Developer Workstation SKU that includes/supports Hyper-V and a copy of Visual Studio 2008/2010.

Ken

Saturday, August 22, 2009 11:22 AM by kjopc

# re: Hyper-V versus Desktop Computing

Hi Ben,

Like you I have built a Quad-Core machine with 8 GB of RAM to run Hyper-V Server 2008 and recently upgraded it to Hyper-V Server 2008 R2 and it has been running great. I also use the Hyper-V Remote management tools on my Windows Vista desktop to manage the virtual environment. It has been a great lab machine for me to work with various server products. I recently upgraded my Tablet PC to Windows 7 Ultimate and installed the Windows Virtual PC and it seems to run well. My brother-in-law is also interested in virtualization in order to still be able to run older games without staying with older technology. This is one of the best features of virtualization. The other is to be able to run a test virtual environment to demo a client/server application without having to carry two machines. Now with the server product going only 64 bit, we would have to dual boot into Server 2008. This is a pain as you would have to have a massive hard drive in order to use applications on the Windows 7 side of the machine because you would need to reinstall the applications on the Windows Server 2008 R2 side of the machine.

Also as of yet, I can't seem to find the Remote Management Tools so that I can manange my Hyper-V server from my Windows 7 computer.

Saturday, August 22, 2009 11:28 AM by bigjim01

# re: Hyper-V versus Desktop Computing

Hello,

I only want to say that I like vmwares features and interface over microsoft's I am deeply divided between Hyper V sun virtual box virtual pc and vmware's solutions. They all work they all do the basic job I have no single p2v converter and I have no simple virtual to physical solutions for backup and recovery.vmware workstation allows me to record videos pause and restart faster quickly and easily switch between virtual machines and supply the product key and more before I start the install. vmware workstation also handles my usb devices much better than virtual pc allows drag and drop between virtual and physical and even offers unity but I feel I pay too much for these few but great features.

Saturday, August 22, 2009 11:35 AM by Tyler

# re: Hyper-V versus Desktop Computing

I like to run virtual servers on my desktop PC for learning, testing configurations, etc.  Setting up a Hyper V box for this would be overkill in my case, particularly given that my desktop has more than ample resources for this purpose.  

It's unfortunate that Virtual PC won't run 64-bit apps, since that prevents setting up a virtual SBS, for example.  And if I use Virtual Server, then I lose hardware virtualization and the ability to use Virtual PC for XP Mode or other purposes.  I hope MS will end up adding 64-bit support to Virtual PC at some point, especially given how prevalent the 64-bit OSs are becoming.

Saturday, August 22, 2009 3:03 PM by dnick

# re: Hyper-V versus Desktop Computing

Ben,

A simple question: I run windows 7 on mu laptop, where I do all my home work. A dell vostro 1320, 2.4 dual core, 4 GB Ram, 320 Gb disk, and so on. A fast and new machine ($1200 with 3yr warranty).

I need a couple of 64 bit VMs on it to make some testing/development of Sharepoint and SQL2008 under 2008 R2 (which is only 64 bit, remember that).

Also need Solaris / Comstar to provide iSCSI support to VMs.

Neither Hyper-V nor Virtual PC does the job. I have either go to VirtualBox (free) or VMWare. It is a bad microsoft decission thar I can't run 2008R2 on this machine as main OS, nor VirtualPC to run 64 bit hosts, being the same microsoft who decided not to release more 2008 x86 servers.

I'd like reading your oppinion on this.

Saturday, August 22, 2009 4:56 PM by A.

# re: Hyper-V versus Desktop Computing

Atur -

Yes, demos on the road are something we have been hearing about.  As I mentioned - I do this myself and dual-boot my laptop for just this reason.  As a side note - if you are getting a laptop for purposes of running Hyper-V - you cannot go wrong with integrated Intel graphics.  Sure, it is not good for gaming, but you get Aero support and it will not affect Hyper-V in anyway.

Cheers,

Ben

Saturday, August 22, 2009 5:30 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

John -

You might want to poke around and see if you can find some low-end graphics cards that would give you multi-mon without causing Hyper-V problems.  As I mentioned to Artur - Intel graphics controllers tend to behave really well with Hyper-V.

Cheers,

Ben

Saturday, August 22, 2009 5:32 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

kjopc -

Yes!  As is being discussed at length here - Hyper-V does not play well with high-end video cards (which are far more common on desktops than servers).  Hyper-V also disables sleep and hibernate, as well as increasing the power utilization of the computer.  All of these things would need to be addressed before we could even consider putting Hyper-V in a desktop product.

Cheers,

Ben

Saturday, August 22, 2009 5:34 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

bigjim01 -

Thanks for all the info!  I have a blog about the Remote Management Tools for Windows 7 here: http://blogs.msdn.com/virtual_pc_guy/archive/2009/08/12/rsat-for-windows-7-rtm-now-available.aspx

Cheers,

Ben

Saturday, August 22, 2009 5:36 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

Tyler -

Thanks for the information.

Cheers,

Ben

Saturday, August 22, 2009 5:37 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

dnick -

I hope we do too :-)

Cheers,

Ben

Saturday, August 22, 2009 5:39 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

A. -

Unfortunately we do not have a solution here, and you will have to use VMware or VirtualBox.

Cheers,

Ben

Saturday, August 22, 2009 5:41 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

Hello,

I also wanted to say vmware's thinapp is much smaller simpler and has only 1 file versus your appV

Tyler

Sunday, August 23, 2009 7:19 PM by Tyler

# re: Hyper-V versus Desktop Computing

Hello,

I'am a infrastructure consultant - I use a notebook for mobility reasons. When working on customer site it's important to me to be able to quickly start a VM to test some settings or to compare with the costomer environment. I also use VMs to test migration szenatiosm, scripts and configurations before documenting them. For me it's extremly painfull to loose the possibility to start a server OS in a VM - I have to reboot everytime I need a single scrrenshot .... Please add x64 support to WVPC.

Andreas

Monday, August 24, 2009 3:56 AM by Andreas

# re: Hyper-V versus Desktop Computing

I wonder if Mark Russinovich is still running VMware Workstation?  I had a chance to speak to him a couple years ago as he was transitioning to MSFT (this was at his final Windows Internals course with David Solomon).  I recall him saying he had an exemption to run VMware because of 64-bit guests. :-)

One would have to assume this capability is coming soon for VPC.  But you know the old saying about "assume."

Eric Gray

Monday, August 24, 2009 3:49 PM by Eric Gray

# re: Hyper-V versus Desktop Computing

Hi there

Sorry for my ignorance, but surely if Windows 7 and Windows 2008/R2 are built on the same core(big assumption?), how difficult would it be to just port hyper-V over to windows 7 and supply it as an unsupported, free download for developers?

Ideally I would prefer if I could just continue using Virtual PC with x64 support without having to now consider porting them all across to VMware. I have always championed VPC in organisations because of the free VPC that MS delivered for testing and just preferred the way they work with ISO's and Shared folders but with the age of x64 approaching, without having to dual-boot my laptop, another virtualisation solution will have to be used by me and the rest of our development team. This also affects or current production use of hyper-v, as we can’t then use the same image easily across both environments.

PLEASE PLEASE PLEASE speak to the powers that be and make something happen. Developers are Microsoft; help us get the tools we need to help Microsoft. You never going to drive large scale adoption of Hyper-v until developers are happy and able to work on the platform.

Riccardo

Tuesday, August 25, 2009 5:27 AM by Riccardo

# re: Hyper-V versus Desktop Computing

There seems to be a fundamental misunderstanding, leading to questions about why Hyper-V can't run "on top of" Windows 7.  (Ken, and now Riccardo, both asked this question.)

Hyper-V does not run "on top of" any OS.  It is a bare-metal hypervisor; it runs directly on top of the hardware.  All your OSes run on top of Hyper-V.  If you installed Hyper-V as part of Windows Server 2008 (R2), then even that copy of Windows Server 2008 runs on top of Hyper-V after the reboot.

There is no technical reason that you cannot *TODAY* run Windows 7 on top of Hyper-V Server (the standalone Hyper-V, not the role bundled with Windows Server).  But it's so complicated that it's clearly better just to use Windows Server 2008 as a workstation.

The main problem is how to install Windows 7 after Hyper-V has been installed.  The only way to administer a standalone Hyper-V Server is to do remote administration (see: Hyper-V Server FAQ).  Thus, you will temporarily need at least one other computer to administer the install from.  After the install, you can then administer Hyper-V "remotely" from within the Windows 7 VM, assuming that you've got the NAT/private network setup correctly.

Needless to say, this is quite a complicated process for people who are used to hosted hypervisors, such as Virtual PC or VMWare Workstation.  It's a big change.  You need two computers.  You need to install remote admin tools on two PCs.  You need to understand the intricacies of VM networking.  And after it's all done, you still have the problems with high-end graphics cards.

Tuesday, August 25, 2009 11:05 AM by Tom

# re: Hyper-V versus Desktop Computing

On second thought, scratch that idea.

There's no console access at all from Hyper-V standalone, right?  So even though you *could* run Windows 7 on top of Hyper-V, without Windows Server, it'd be more-or-less useless because you could never access the VM instance from the console.

Tuesday, August 25, 2009 11:14 AM by Tom

# re: Hyper-V versus Desktop Computing

Riccardo -

If you beleive you would be happy with Hyper-V as it is today on Windows 7 - then use Windows Server 2008 R2 as your desktop operating environment.  Just be aware of the potential for performance issues as is outlined in this post.

Cheers,

Ben

Tuesday, August 25, 2009 2:14 PM by Virtual PC Guy

# re: Hyper-V versus Desktop Computing

Hi Ben,

it would be really interesting if you can post some insights on your Laptop config and how you get along with this on the road.

Cheers,

Artur

Wednesday, August 26, 2009 5:00 AM by Artur

# re: Hyper-V versus Desktop Computing

Like others, I've run into several issues with Hyper-V as a desktop VM solution, but the one I see mentioned the most is the problem with modern graphics card performance.  Some have complained that this hasn't been fixed in R2.  However, that's not exactly true.  Windows Server 2008 R2 has support for Second Level Address Translation (SLAT), aka Extended Page Tables (EPT), aka Nested Page Tables (NPT), aka Rapid Virtualization Indexing (RVI).  On hardware that supports this, and with Server 2008 R2 Hyper-V for your VM solution, modern graphics cards (and their associated WDDM 1.1 drivers) work fine.  The catch is that you need an Intel i7 (Nehalem) processor or a recent AMD processor to have that support -- Intel Core 2 Duos and Quads don't support EPT.  This prompted me to switch from my C2D E8400 to an i7 920 for my desktop VM machine; with 2008 R2, Hyper-V no longer suffers from the horrible slowdown in the video drivers.

Saturday, August 29, 2009 4:24 PM by Scott Havens

# re: Hyper-V versus Desktop Computing

Hi Scott - really?! That's great news if so. I've got a Core i7 920 processor as well, and an NVidia graphics card... so if I were to upgrade to R2 I'd be able to use it properly with the regular drivers?

Saturday, August 29, 2009 5:17 PM by John

# re: Hyper-V versus Desktop Computing

John, that is correct.  I'm using the latest 190.62 Win7 x64 drivers for my 9600GT on Win2K8 R2 with Hyper-V with no discernible slowness.  When I had a C2D E8400 for my desktop instead of an i7 920, with the same graphics card (but, granted, not the RTM of the OS yet, as it wasn't available), I experienced the same poor graphics performance noted in this blog and other places.  So, give it a shot -- you may be pleasantly surprised.

Sunday, August 30, 2009 2:25 AM by Scott Havens

# re: Hyper-V versus Desktop Computing

This developer says this really sucks... I'm stuck on R2 with no VM's... I'm 100% Microsoft and found myself installing VMware today... that Java/Wildcat/Crap didn't work in R2 either... but come on... get this fixed, obviously developers are going to be in this scenario -- high-end system, including video and running the latest OS.

Tuesday, September 01, 2009 10:05 PM by Charles
New Comments to this post are disabled
 
Page view tracker