Virtualization in Windows 8 – What is it Good For? (Part 1)

If you would like to read the next part in this article series please go to Virtualization in Windows 8 – What is it Good For? (Part 2).

Introduction

Recently there has been a lot of media hype around the upcoming release of Windows 8. Much of the attention that Windows 8 has received up to this point has centered around the new Metro interface and the Metro style apps. While this is certainly understandable, Windows 8 boasts a number of new features that are not related to the interface. One such feature is the inclusion of Hyper-V in the new desktop operating system. That being the case, I wanted to take the opportunity to talk about how this changes Windows and what Hyper-V on the desktop will be good for.

A Brief History of Virtualization on the Desktop

Having the ability to run virtual machines on desktop operating systems is not new to Windows 8. Microsoft has long offered a free add on called Virtual PC that made it possible to host virtual machines on desktop versions of Windows. The earlier versions of Virtual PC were a bit lacking when it came to performance, but they at least gave you the ability to run virtual machines in a pinch. A few years ago for example, I was working on a new book but I was also doing a lot of traveling. I needed the ability to run Windows Server on my laptop so that I could work on the book while I was on the go, but my other operational requirements forced me to run a desktop version of Windows. To make a long story short, I used Virtual PC. My virtualized server ran slowly, but it got the job done.

In Windows 7 Microsoft put Virtual PC to good use. They introduced a new feature called Windows XP mode. Windows XP mode was essentially a fully licensed copy of Windows XP that ran in a Virtual PC-based virtual machine. What was really nice about Windows XP mode was that it was possible to install applications within a dedicated Windows XP desktop, and have those applications made available through the Windows 7 user interface. In many cases, users were completely unaware that the Windows XP virtual machine even existed. Applications that were running within the virtual machine appeared to natively run on the Windows 7 desktop.

Windows 8 and Virtualization

Microsoft has completely changed their approach to virtualization in Windows 8. Specifically, they have abandoned Virtual PC in favor of including Hyper-V in the desktop operating system. One of the side effects to doing so is that Windows 8 will not feature a Windows XP mode.

Long before any of the Windows 8 features were announced I had predicted that Windows 7’s Windows XP mode would become the basis for Windows 8. Because applications that ran in Windows XP mode became transparently available on the Windows 7 desktop it made sense that future versions of Windows would act as a user interface and a virtualization host. I predicted that the core operating system would be very light weight, but that Microsoft would offer plug-ins for Windows XP, Windows Vista, and Windows 7 that would make it possible to transparently run virtual instances of those operating systems.

Unfortunately, Microsoft’s decision to adopt Hyper-V makes using the approach that I just described impossible. The reason for this has to do with the nature of the hypervisor. Virtual PC used what is known as a type 2 hypervisor. A type 2 hypervisor runs on top of a host operating system and the hypervisor is forbidden from communicating directly with the hardware. All of the hardware calls must be passed through the host operating system. I previously mentioned that some of the earlier versions of Virtual PC did not perform very well. These performance issues can be directly attributed to the fact that the virtualized environment was emulated and that the host operating system acted as a gateway between the hypervisor and the hardware.

In contrast, Hyper-V is a type 1 hypervisor. A type 1 hypervisor communicates directly with the system’s hardware at the bare metal level. While it is true that certain implementations of Hyper-V (such as that included with Windows 8) do make use of a host operating system, the hypervisor itself does communicate with the hardware at a bare metal level.

The reason why this distinction is important is because it directly impacts the way that applications can be used in a virtualized environment. Because Virtual PC was based on a type 2 hypervisor, the host operating system (in this case Windows 7) essentially had total control over the virtual machine. It was this architecture that made it possible for applications running was in the Virtual PC environment (in Windows XP mode) to appear as if they were running natively on the Windows 7 desktop.

Microsoft’s decision to abandon Virtual PC in favor of Hyper-V completely undermines this architecture. When a type 1 hypervisor is used, each virtual machine runs in a sandbox environment. The host operating system is not able to exercise control over the software that is running inside of the virtual machine.

Even though the switch to Hyper-V might initially seem like a huge step backwards, it really isn’t. Hyper-V is a far more sophisticated and capable hypervisor than Virtual PC was. What is really nice is that the version of Hyper-V that is included with Windows 8 is almost identical to the one that is included with Windows Server 2012. From an administrator’s standpoint this means that it will actually be possible to create and configure virtual machines on a desktop and then export those virtual machines directly to a Hyper-V server without having to make any modifications.

There are actually a great number of benefits to being able to run Hyper-V directly on a desktop PC. I plan to talk about these benefits in detail in the second part of this article series. For right now though, I need to talk about how the hardware requirements differ in Windows 8.

Hardware Requirements

Because Windows 8 uses a true type 1 hypervisor, the physical PC must support hardware level virtualization. Additionally, the PC will have to support Second Level Address Translation (SLAT). This also means that the four bit hardware is required if you want to run Hyper-V.

The really interesting thing about this requirement is that you don’t actually have to use a 64-bit edition of Windows 8. As long as the underlying hardware is 64-bit capable, you can actually running a 32-bit edition of Windows 8 as the host operating system. Of course you will generally see better performance if you run a 64-bit operating system.

The other hardware requirements that you need to be aware of is that you will need a minimum of 4 GB of memory if you plan to use Hyper-V. Like any virtualized environment, you will see better performance on higher end hardware. Therefore, if you plan on making extensive use of virtual machines then you might want to look for a PC that has lots of memory and plenty of CPU cores.

Conclusion

In this article, I have explained how virtualization has changed in Windows 8. In part two I plan to conclude the series by discussing the benefits of running Hyper-V on the desktop.

If you would like to read the next part in this article series please go to Virtualization in Windows 8 – What is it Good For? (Part 2).

Leave a Comment

Your email address will not be published.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top