Are you planning to test Windows 8 when the beta release arrives in February? If so, you'd better start thinking about your hardware now.
You might have your eye on a surplus PC as a Windows 8 test bed. A two-year-old PC seems like a perfect candidate for a test bed—after all, the system requirements for Windows 8 are unchanged from those of Windows 7. But if you go that route, you might find that you're unable to use one of the most significant new features in Windows 8.
I'm talking about Hyper-V, the virtualization technology that is being built into a desktop version of Windows for the first time. Windows 7 offered similar capabilities through the use of an add-on program called Windows Virtual PC. Hyper-V integrates this capability directly into the operating system, using technology that has proven itself in the server versions of Windows for more than three years. The average consumer will never need it, but it’s a godsend for IT professionals, developers, security researchers, and enthusiasts.
On a test PC running the Windows 8 Developer Preview, I've been using Hyper-V extensively, and it's been rock-solid. At the moment, for example, I have Windows Server 2008 R2, Windows 7 Enterprise, and a second instance of Windows 8 running in isolated virtual machines on a Windows 8 host. I used VMs, for example, to document the setup process for Windows 8 for my new book, Ed Bott's Windows 8 Head Start; without this capability, I would have no way to capture screen shots showing how the installation and repair features work.
So what's the catch? Hyper-V runs only on a 64-bit version of Windows 8, and only if the host machine is equipped with a 64-bit processor that supports a feature called Second Level Address Translation (SLAT). Some older Intel documentation refers to this feature as extended page tables (EPT). The AMD equivalents are Rapid Virtualization Indexing (RVI) and nested page tables (NPT), respectively.
Here's how you can find out whether your CPU supports this feature.
If you've already installed the Windows 8 Developer Preview, you can find out by trying to enable Hyper-V (the feature is disabled by default). In the Turn Windows features on or off dialog box, select the Hyper-V box and then click or tap OK. If your CPU doesn’t support Hyper-V, the Hyper-V Core check box will be grayed-out and unavailable, and you’ll see the following error message if you move the mouse pointer over that item:
If you haven't yet installed Windows 8, you can use Coreinfo (part of Mark Russinovich's essential Sysinternals collection) to check. Open a Command window as an Administrator and run the utility with the –v switch to see the output shown here.
The asterisk to the right of EPT means this CPU does indeed pass the test.
Or you can look up the CPU to check whether it supports the required feature.
AMD has put together a comprehensive list here.
Among Intel processors, any model based on the Nehalem architecture supports SLAT. Older CPUs don't. Just look at the CPU name: if it begins with i (i3, i5, i7), it supports SLAT. Core2 and older processors (beginning with Q, E, and so on) don't include this support.
If your memory is sharp enough, you might recall a similar hardware compatibility issue that arose during the development of Windows 7. In that case, the issue was far trickier, with even some then-current high-end CPUs not supporting the required virtualization technology. Thankfully, this compatibility issue is much more straightforward, and no secret decoder ring is required.
Of course, you can always use third-party virtualization software if you prefer, and indeed I often recommended it over the much more limited Windows Virtual PC. But based on my experience with Windows Server and now with Windows 8, Hyper-V is in a completely different league. If you need virtualization, it's well worth testing.