I stumbled into an interesting potential “gotcha” as regards Windows 8 and its much-ballyhooed support for Hyper-V (see Steven Sinofsky’s Building Windows 8 blog entitled “Bringing Hyper-V to ‘Windows 8’” for more information) while researching an article on this topic for SearchWindowsEnterpriseDesktop.com this weekend. Although Microsoft has claimed in the past that Windows 8 will run on any PC that can run Windows 7, the same is most definitely NOT TRUE for Hyper-V support.
To run Hyper-V, a PC must not only run the 64-bit version of Windows 8, its CPU must also support a virtualization technology called Second Level Address Translation (aka SLAT) which, as Sinofsky’s blog states, “…is present in the current generation of 64-bit processors by Intel and AMD,” along with at least 4GB of RAM. Given the memory requirements for VMs, the 4 GB requirement is neither terribly surprising nor onerous. As it turns out, only the ix Intel processors (i3, i5, and i7) and Barcelona-model or later AMD processors (K10 or higher Opteron and Phenom CPUs) support SLAT.
You can check the status of your CPUs by downloading the latest version of Mark Russinovich’s coreinfo.exe utility from the Microsoft Sysinternals Web pages, then launching the utility from a command line launched with administrative privileges. If your CPU will run Windows 8 Hyper-V, you’ll see a display like this one:
The key entries in this display are the EPT (Extended Page Tables) for Intel processors, as shown in the preceding screenshot, and a value in the AMD processor output that may appear as NPT (Nested Page Tables) or RVI (Rapid Virtualization Indexing). Simply put, one of these values must be enabled for Windows 8 Hyper-V to work. What this also means is that even though I have some older quad-core systems that run Windows 7 just fine, with 12-16 GB of memory (and thus plenty able to host multiple VMs except for the SLAT requirement), I won’t be able to use those machines to host Hyper-V VMs when I start digging into Windows 8 later this month. All I can say is “Rats!”