Verifying Hyper-V requirements
In order to install Hyper-V, you should make sure that your server supports it by verifying the prerequisites. Failing which, the Hyper-V requirements will result in an error while you install it.
Neither Windows nor Hyper-V offers a tool to verify the prerequisites, but processor companies have created tools, such as AMD-V System Compatibility Check and INTEL Processor Identification Utility.
In this recipe, you will learn how to use them and the MachineSLATStatusCheck
tool to facilitate the process.
Getting ready
To verify the prerequisites of your processor, you must download Intel Processor Identification Utility. You can download it from the following link:
http://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=1881&DwnldID=7838&lang=eng&i
Based on the server processor, you can also download the AMD Virtualization Technology and Microsoft Hyper-V System Compatibility Check Utility from the following link:
http://download.amd.com/techdownloads/AMD-VwithRVI_Hyper-V_CompatibilityUtility.zip
To identify the processor brand, open the DirectX Diagnostic Tool (dxdiag) and check the processor information.
You also need to download the MachineSLATStatusCheck
tool available at https://slatstatuscheck.codeplex.com/ to verify if your processor supports Second-Level Address Translation (SLAT) that is required to install Hyper-V in Windows Server 2016. SLAT was always required since the first version of Hyper-V became available on Windows 8 client OS.
Note
If you are using Coreinfo
tool to check your processor advanced features from Sysinternals, https://technet.microsoft.com/en-us/sysinternals/cc835722, please note that Coreinfo
must be run on a system without the Hypervisor running for accurate results.
How to do it...
In the following steps, you will learn how to check whether your computer meets the requirements to install Hyper-V on Windows Server 2016 and Windows 10:
- After downloading and installing the necessary tools as explained in the Getting ready section, install the utility based on your processor.
- For AMD processors, the AMD-V System Compatibility Check provides the results for AMD processors, if it supports Hyper-V, as shown in the following screenshot:
- If you have an Intel processor, after the Intel Processor Identification Utility is installed, you will see three tabs after you run it.
- Select the first tab named Frequency Test to show the highest frequency and speed that your processor can handle.
- Select the second tab named CPU Technologies and check whether the results for the technologies is supported by processor models, such as Virtualization technology, Hyper-Threading, and other technologies.
- Then, select the CPUID Data tab to see information, such as the Processor type, Family model, Cache sizes, and Data Execution Prevention (Execute Disable Bit).
- For Intel processors, the result will be similar to the following screenshot:
Note
As you can see in preceding screenshot, the Intel® Virtualization Technology support is showing No. Since Hyper-V is already installed on this machine and the
hypervisorlaunchtype
is set toAuto
, Hyper-V will lock VT-x at boot time (The hypervisor loads before the parent/management partition). For that reason, the tool will show No for VT-x with Extended Page tables if Hyper-V is enabled and the system is running. - To verify whether the processor supports Second-Level Address Translation (SLAT) or not, use the free tool called
MachineSLATStatusCheck
. - After it's downloaded, copy it to the chosen directory and then access it through the
Windows Explorer
and run it. - The following screenshot is an example of a computer running a processor with SLAT support:
- With these steps, you have identified whether the server you want to install Hyper-V on has all its prerequisites satisfied.
How it works...
The mentioned tools simply verify the processor properties to show that it has the necessary features to install Hyper-V. One of these features is the Hardware-assisted virtualization. This functionality allows Hyper-V to run under privileged access through a special layer in the processor. In some cases, this feature must be enabled through the Basic Input-Output System (BIOS).
These tools also check whether the Data Execution Prevention (DEP) is present. Intel calls this feature Intel XD bit (Execute Disable Bit) and for AMD it is AMD NX bit (No Execute Bit). This feature must be enabled through the BIOS.
There is a particular prerequisite called Second Level Address Translation (SLAT) that is shown by the MachineSLATStatusCheck
tool. Starting with Windows Server 2016, SLAT has now become necessary for Windows Server installations; as mentioned earlier, SLAT was required for client OS starting with Windows 8 onwards. Hyper-V uses this to perform more VM-memory-management functions and reduce the overhead of translating guest physical addresses to real physical addresses. By doing this, Hypervisor CPU time is significantly reduced and more memory is saved for each VM.
The processor, with SLAT capability, has a Translation Lookaside Buffer (TLB) that supports virtual to physical memory address translation. A TLB is a cache on the processor that contains recently used mappings from the page table. When a virtual to physical address translation is required, the TLB checks its cache to determine whether or not it contains the mapping information. If TLB contains a match, the physical memory address is provided and the data is accessed. If TLB doesn't contain a record, a page error occurs and the Windows checks the page table for the mapping information. If Windows finds a mapping, it is written to the TLB, the address translation takes place and then the data is accessed. However, the Hypervisors overhead gets substantially decreased due to this buffer.
See also
- Appendix A, Hyper-V Architecture and Components