When Microsoft announced that a Hyper-V client hypervisor will launch with Windows 8, a firestorm of speculation...
touched off surrounding the use cases and what this mean for desktop virtualization software.
It certainly seems to mean the end of Microsoft's Windows Virtual PC -- which would be no great loss since most of its functionality has been eclipsed by other products. Another possible implication, and a far greater one, is whether Hyper-V in Windows 8 will render all third-party workstation virtualization software redundant. As an Oracle VirtualBox user, I'm thinking specifically of that product, which holds its own against software such as VMware Workstation.
Because Windows 8 and the Hyper-V client is still a work in progress, it's tough to predict exactly what the finished product will look like or how it will behave. But there are a few hints as to how Windows 8's native Hyper-V client will stack up against workstation virtualization solutions such as VirtualBox.
The first thing to compare is the hardware requirements for Hyper-V and VirtualBox. The former requires a 64-bit system that supports Second Level Address Translation (SLAT). Intel calls SLAT Extended Page Table (EPT) and AMD calls it Rapid Virtualization Indexing (RVI). Both do basically the same thing -- they allow the processor to more efficiently map virtual to physical addresses in memory. Unfortunately, there are a great many machines in use right now which don't support SLAT. I'm sitting in a room with four other computers, all manufactured after 2007 and only one of them supports SLAT (and it isn't the one I'm typing this on).
VirtualBox does not require SLAT -- or any of the hardware-level virtualization features on the latest Intel and AMD chipsets (Intel VT-x and AMD-V). It can support those hardware virtualization extensions if they are present, but if they're not available, it won't choke -- it'll just run slower. This flexibility makes VirtualBox useful on a broad range of systems.
That said, two VirtualBox features require the presence of hardware-assisted virtualization: support for 64-bit guest OSes and symmetric multiprocessing. Nearly every PC shipped today supports hardware virtualization, so these requirements don't pose much of an issue for most users. (Whether they specifically support SLAT is another story.)
As far as memory requirements go, Windows 8 requires less memory than Windows 7, so the amount of memory you'll need above and beyond what Windows requires depends entirely on how ambitious you get with virtualization. Hyper-V also lets you allocate and free up memory on the fly in running virtual machines (VMs), and unused memory can be shared between Hyper-V VMs for increased efficiency.
VirtualBox offers two similar features: memory ballooning and page fusion. The former lets you change the amount of memory available to a VM without shutting the VM down. This is handy if you want to reallocate memory between two or more VMs while they're running. Page fusion lets VMs running the same OS share similar memory pages. Note that both of these features are not automatically enabled for VMs -- they have to be toggled on manually.
Windows 8 Hyper-V client pros (and cons)
A key difference between Windows 8 Hyper-V and third-party workstation virtualization software such as VirtualBox is that the Hyper-V client hypervisor is a Windows system component. The benefit of that is how tightly it can cross-integrate the guest and host.
For example, it's possible to mount .VHDs directly into Windows 8 and boot them in the Hyper-V client, such as the Internet Explorer Application Compatibility VPC Images, which allow you to run earlier versions of Internet Explorer (IE) in a self-contained instance of Windows.
VirtualBox's platform-neutral nature means it doesn't sport the same level of system integration that Hyper-V does with Windows 8. VirtualBox has integration tools that allow the guest and host to interoperate that much more closely, but the exporting of individual applications from the guest to the host desktop for Windows alone would require a major revision of the guest additions for Windows. It's theoretically possible to make such app-exporting work cross-platform -- for instance, to have a virtualized Windows app exported to the Mac desktop -- but again, it would require a lot of work.
Windows 8 may also include wizard-type interfaces for such functionality (though it's unclear if the final version will). If it does, you will be able to double-click on a .VHD file to boot it in a window. IT pros may also be able to use Hyper-V to seamlessly export applications to the host operating system. One use case is to run a legacy version of IE in a window alongside the latest version.( Running an old version of IE using virtualization goes against Microsoft's licensing rules today.)
While the Hyper-V client in Windows 8 offers benefits, it has some growing up to do before we see its full potential.
By comparison, there is very little mystery surrounding workstation virtualization products such as VirtualBox -- it is a self-contained and fully developed application with a relatively user-friendly interface. It's also not tied to any particular instance of Windows, or even any particular OS: it runs on Windows, Linux, Mac OS X and so on.
Until Windows 8 with Hyper-V becomes available, people will continue to wonder whether it will displace virtualization products such as VirtualBox. In the short run, probably not; Hyper-V is dependent on processor extensions that VirtualBox doesn't require and it is a mature, user-friendly product.
About the author:
Serdar Yegulalp wrote for Windows Magazine from 1994 through 2001, covering a wide range of technology topics. He now plies his expertise in Windows NT, Windows 2000 and Windows XP as publisher of The Windows 2000 Power Users Newsletter and writes technology columns for TechTarget.