Server-side virtualization is a modern-day fact of life. Today's data centers pool their processing, storage and even network resources to create macrocosmic virtual-machine entities that transcend the boundaries of hardware. We call that "the cloud."
With Windows 8, Microsoft extends its server-class hypervisor platform to the desktop. And no, it's not just a play for enthusiasts and testers: There's a solid reason for Hyper-V to become the backbone of future Windows versions.
No. 10 : Refresh and Reset
No. 9: File History
No. 8: Storage Spaces
Being on someone’s Top 10 list, no matter whose it is, does not guarantee you permanent prominence. Put another way, you wouldn’t have to go back very far to find a technology feature that seemed make-or-break at the time, but has already been completely forgotten by most folks.
Three years ago in my ongoing preview of Windows 7, I placed a feature called XP Mode #3 on my Top 10 list. Today you might look at that pick and conclude, “Boy, was Scott ever wrong about that one!” But the point is that sometimes a feature is right for its time, even if it can't weather the test of history. This may be the case for my #7 pick for Windows 8.
We introduced you to client-side Hyper-V during ReadWriteWeb’s coverage of the Build 2011 conference last September. It’s Microsoft’s industrial-strength, 64-bit virtualization platform for running operating systems and applications within an envelope that behaves like hardware but is made of software. Virtualization is the principal technology that makes cloud computing possible. Being able to use resources made up entirely of software, whose capacity or power is provided by any number of real resources, is the basis of virtualization.
Many observers say desktop virtualization is solely for hobbyists and experimenters. But there are plenty of real-world, everyday uses for desktop virtualization. For example, if you work from home even part time and your job involves connecting to your office server, you could do yourself and your office a favor by connecting through a virtual machine (VM). That way, your PC still belongs to you. Anything your office forces you to download and use, such as a proprietary VPN, can mess up only the configuration of your virtual (disposable) machine. You can still maintain your personal office files on real hard drives. Anything you download that's contrary to your office’s stated policy, or that could impact your office’s assets, is separated from your office VM.
In short, if you’re tired of your office’s IT department messing up your home computer even more than your cable company already has, virtualization can put a stop to it.
Acknowledging the Gap
The virtualization market has been a difficult path for Microsoft. To be a virtualization leader in the data center, you have to have a system for representing virtual resources as a file, and then have a management platform for deploying, maintaining, moving and scaling those resources. VMs don’t have to behave like real machines; theoretically, their storage bases can expand or shrink as necessary, and even their internal memory can expand.
Hyper-V was created for Windows Server 2008, although Microsoft already had a virtualization platform with two main variations (and several nuanced versions). It was a 32-bit platform gained through the 2003 acquisition of Connectix, and its first incarnation for Windows was called Virtual Server 2005. It was described at the time as a “server consolidation tool,” and although administrators could create theoretical virtual networks with IIS on one server and SharePoint on another and Exchange on a third, the often blind-faith management process put admins in the position of being contestants on The Dating Game, with the available prospects hidden behind a wall.
On the client side, however, Microsoft made the brilliant move of re-releasing Connectix’ Virtual PC (VPC) technology for free, effectively nullifying all the minor players and reducing its serious competition to VMware, Xen (later acquired by Citrix) and Sun’s VirtualBox (later acquired by Oracle). The last great culmination of VPC came in the form of XP Mode for Windows 7, which could run a Windows XP application in an XP window in conjunction with the Windows 7 Desktop. This way, you didn’t have to change worlds to run an old program in a new environment. (Strange how even good ideas don’t always stand the test of history.)
But there are serious and irreconcilable technical incompatibilities between Hyper-V and the old VPC.
- First, Hyper-V is designed for a cloud-based reality, in which resource sizes – including compute power – are scalable. As a result, a virtualized server can be dramatically more flexible than a physical one. By contrast, VPC was built in an era where the magic of emulating a PC with 256 MB of RAM and a 10 GB hard drive seemed limitless enough.
- Second, the configuration files for VPC and Virtual Server (which were not compatible with one another, if you can believe it) are not compatible with Hyper-V.
- Third, the components of a virtual machine that enable it to recognize itself as a VM cannot be the same when you move the VM to Windows 8, because of the differences in the Windows 8 kernel.
So as Microsoft transitions its PC-based clients to a fully 64-bit realm, there can be no seamless transition between XP Mode for Windows 7 and a similar feature, if there was to be one, for Windows 8. As cool as it seemed in 2008 for an XP window to run friction-free inside Windows 7, it’s simply not a feature that folks really need today.
Crossing the Gap
So it’s getting left behind. At the same time, as Microsoft adapts Windows 8 for a more dynamic world of tablets and portable devices, the new system won’t be suited to run inside a VPC envelope.
This does not mean you cannot run virtual operating systems that you created within VPC-based virtual machines in Hyper-V for Windows 8. Microsoft’s virtual hard disk format (VHD) is still very much supported in Win8. In fact, the way you mount a VHD now is to simply double-click the VHD file in Explorer. So your existing assets, if they’re still important to you, are not lost; the trick is to create a new Hyper-V virtual machine in which the VHD file is installed.
Once you get Windows 8 set up and working, your first step in the new Hyper-V Manager will be to create a virtual switch – a kind of bridge between the network loop for your VMs and your real network card. The trick here is remembering that it’s an internal switch to an external network. So you choose Internal first, and then choose your (real) network card in the list marked External network, as I’ve done above. If you remember this strange distinction, it’s easy.
The process of creating a new virtual machine is actually the creation of a configuration file that links the specifications for the VM you want to run with the file acting as its hard drive. So you connect the VM to the bridge you created a moment ago, as shown above.
Then, since Hyper-V accepts pre-existing VHDs, you use this step to point it to the VHD file. When you engage the VM for the first time, it will boot whatever OS you’ve already installed on the VHD. Keep in mind that if the existing OS is Windows, it will behave as though you’ve taken the physical hard drive out of an old computer and reinstalled it into a new one. This will trigger the Windows Activation process because it will see what it believes to be an entirely new processor and memory. Microsoft has granted automatic licenses to people using virtual Windows on any licensed copy of Windows on a physical PC, so unless there’s something technically wrong (which can happen, as you’ll see in a moment), activation will work.
The screenshot above shows an existing Windows 7 VM whose VHD was created in VPC, and a Windows XP VM whose VHD was created way, way back in the Vista days, running simultaneously on the Windows 8 Desktop. It’s not a seamless fit – at least, not yet.
- You can’t get the semi-transparent “Aero” environment for Vista and Win7 in Hyper-V, at least not through Windows 8’s new Virtual Machine Connection program. (Theoretically, you may be able to emulate Aero by connecting to a running VM using Remote Desktop Connection. In our tests of the Win8 Consumer Preview, however, Aero did not work yet.)
- Win7 and XP VMs will require you to uninstall any existing Virtual Machine Additions (VMA, which was created for VPC) before they can install network connections that make them behave like part of your network. This works fine for Win7, but for XP – which is more finicky about product activation – once it realizes it’s not in the same environment, it will insist that you re-activate Windows first. Which you can’t do if you don’t have a network connection, and the conundrum proceeds from there. So if at all possible, you should use your old VPC in your old operating system to uninstall VMA before you move your VHD into Hyper-V. (Enough V’s for you?)
- When creating the virtual network bridge between Hyper-V and your real network, Windows 8 takes your network offline for the briefest moment. But in that moment, the Win8 Consumer Preview will tell you the network is completely offline, even when it’s not. This is obviously a “beta bug.”
- Transitioning a VM created exclusively for Win7's XP Mode (which sublimates its own Desktop) into a Hyper-V VM (in which the Desktop is visible) will likely be difficult, and not exactly automated. There's a relationship between the XP account system and that of Windows 7, which no longer applies to Hyper-V in Windows 8. You may prefer to simply create an XP-based VM from scratch, except to do that you'll need to relocate your long lost Windows XP CD-ROM, and undergo the excruciating XP setup procedure that Vista successfully exorcised.
Anybody who uses Windows for any length of time will come to appreciate the ability to utilize a program in a safe-for-testing environment – in a situation where anything that can go wrong doesn’t impact your “production” machine. I have said for years that in the future, all Windows operating systems should be virtual. That is, Hyper-V should serve as the hypervisor layer for everything you do on your PC, tablet and, one day soon, your phone. This way, such affairs as system backup and restoration will become trivial. Imagine if viruses could impact only your running virtual PC, and the physical layer beneath it could detect when and where that impact occurs.
Virtual computing is true computing, and if Microsoft wants to remain competitive, it must inevitably embrace the need for an abstraction layer between hardware and software across the board. The company chose to concentrate on other priorities with this go-round. But while putting Hyper-V in client-side Windows 8 is not the complete solution, it’s a step in the right direction.