A few days ago, my ZDNet blogging colleague Jason Perlow offered some suggestions on how he would design Windows 7 for maximum backward compatibility. One of his key proposals involved using virtualization to solve application compatibility problems:
What if Microsoft were to build a “Personal” Hyper-V into the Windows 7 client?
All Microsoft needs to do is include a stripped-down XP virtualized subsystem that contains all the core Windows XP SP3 libraries and a fully Para-virtualized XP kernel, so that it will run on 32-bit systems as well as 64-bit Intel VT-accelerated and AMD-V enabled systems, with a “Seamless” way to present XP applications, perhaps via a internal RDP interface or a DirectX accelerated virtual video driver, without having to run a complete XP desktop.
Is that all? Something tells me that might delay the launch date for Windows 7 until, oh, I don't know, maybe the end of 2013? So I'm going to file that suggestion under N, for Not Gonna Happen. At least not until Windows 8 or even Windows 9.
But the topic did inspire me to sit down and take a closer look at Microsoft's release candidate of Hyper-V, the virtualization platform that didn't quite make it into Windows Server 2008. I've been using virtualization software on the PC platform for years, including workstation and server software from VMWare and, most recently, Microsoft's Virtual Server 2005 R2 running on Windows Server 2003.
This is the first opportunity I've had to spend any hands-on time with Hyper-V. After less than a week, I'm hooked. And Jason's suggestion, although ambitious, isn't science fiction. Windows 7 is being built on the same code base as Windows Server 2008. So in theory at least, this software could be ported to the desktop OS. In this walkthrough and the accompanying image gallery, I'll show you how Hyper-V works, what it can and can't do, and where it falls short on the client side.
First things first: Hyper-V is not yet a shipping product. The version I looked at is Release Candidate 0, and the final version is due sometime within 180 days after the RTM of Windows Server 2008, which could be as late as August 2008.
For my test bed, I'm using a budget Dell PC with a 2.4 GHz quad-core Intel Q6600 CPU (with Intel Virtualization Technology support), 6GB of RAM, and a pair of 500GB SATA drives. The host software is Windows Server 2008 Standard, x64 Edition. To run the release candidate, I downloaded and installed the 26.6MB standalone update package, KB949219. (A separate x86 update is available as well.) If I had had any VMs created in previous Hyper-V betas, I would have had to apply the appropriate update to them as well, but I skipped this step by creating completely new VMs.
Although Hyper-V runs on Windows Server 2008, I prefer to manage it remotely. Getting the Hyper-V Manager console to work on my Windows Vista desktop was tricky. It requires downloading and installing a Microsoft Management Console snap-in (there are separate downloads for Vista x64 and Vista x86, with SP1 and WGA validation required.) After installing the console update I then had to adjust a series of permissions to make communication between the server and the client work on workgroup-based network. Some excruciatingly detailed walkthroughs from Microsoft's John Howard (part 1 covers the server side and part 2 details the client settings) helped immensely.
After getting everything properly set up, I was able to begin creating virtual machines. The wizard driven process is slick and easy, taking literally seconds from start to finish. When I started the VM and connected to it from across the network, I was equally impressed with its raw speed. I'm used to the sluggish performance of Microsoft's desktop virtualization software, Virtual PC 2007, which is why I prefer VMWare Workstation for that job. But Hyper-V feels like it's running at the full speed of the underlying hardware, and installing full copies of Windows Server 2008, Windows Vista Ultimate with SP1, and Windows XP Professional SP3 beta in separate VMs took no more time than it would have on physical hardware.
In operation, each VM is also startlingly fast. That was especially true after installing the Integration components, which support better video and network performance and allow the mouse pointer to track smoothly in and out of the VM connection window. None of the three VMs felt like they were being slowed down in any way.
When I tried to install a beta copy of Ubuntu Linux 8.04, I ran into some glitches, with the VM locking up during the install and refusing to hold its video resolution. After a half-hour of struggling I eventually abandoned the attempt. Linux integration components are available, but they offer only a few of the capabilities of the Windows versions. By release time, hopefully these glitches will be ironed out
In operation, I encountered some bugs, including the inability to export a VM. I also had difficulty creating snapshots on one VM (snapshots represent a way to create checkpoints that you can use to roll back a VM configuration, a handy tool when using VMs as test environments).
For its intended use, with a VM running Windows Server 2008 as a SharePoint server, the Hyper-V software excelled. But for the Vista and XP clients, I ran into some limitations that make it less than perfect for application replacement:
- No support for USB devices. This feature is available in VMWare Workstation but is conspicuously absent here.
- Full support is available only for Windows Vista SP1 and Windows XP SP3 as guests.
- Aero graphics are unavailable in Vista VMs (that's true of every other virtualization solution as well).
Those caveats aside, I was tremendously impressed with the polish and performance of Hyper-V, which lives up to its Release Candidate label. I had no serious problems using this software and greatly prefer it to its predecessor, Virtual Server 2005 R2.
Still, despite its impressive showing, I don't think Hyper-V is going to make it into Windows 7. The experience of running VMs on a server, which is up 24/7 and is typically used for web-based applications, is very different from the demands of a desktop OS. For desktop use, Virtual PC 2007 and VMWare Workstation are perfectly suitable options, and in enterprises Microsoft has both its SoftGrid application-virtualization platform and its recent acquisition of Kidaro to offer.
Based on all that, I think it's safe to predict that building Hyper-V into Windows 7 is Not Gonna Happen. But anyone interested in virtualization solutions should definitely take a long look at this release candidate in Windows Server 2008. And I wouldn't be surprised to see Hyper-V support appear in a desktop Windows version in three years or so.