Case of Hyper-V Role install issue
In this post, we're going to look at an issue that was happened when I was teaching a Hyper-V R2 class few weeks back.
Students were experimenting Hyper-V Role installation options using Server Manager Console, DISM.exe, ocsetup.exe and ServerManager PowerShell Module.
After reboot, we noticed that one of Windows Server 2008 R2 SP1 Full edition hosts (Not Core) didn't have Hyper-V Management Console listed under Administration Tools. In addition to that, there no Hyper-V Role listed under Server Manager Console Roles!
When we tried to select the Hyper-V Role in Server Manager Add Roles Wizard, the following error message surprised us!
Hyper-V cannot be installed
The processor on this computer is not compatible with Hyper-V. To install this role, the processor must have a supported version of hardware-assisted virtualization, and that feature must be turned on in the BIOS.
We verified that hardware-assisted virtualization feature and hardware DEP are enabled within the server's BOIS.
Bcdedit.exe showed Hypervisorlaunchtype was set to Auto
%windir%\logs\CBS.log showed Hyper-V roles is installed and didn't show any errors.
Looking at dism.exe feature query (dism.exe /online /get-features) showed
Feature Name : Microsoft-Hyper-V
State : Enabled
So, comparing with a working Hyper-V R2 (Full Edition) host we found that the following feature was not installed in here;
Microsoft-Hyper-V-Management-Clients
So, it turned out the he’d used the following command to install Hyper-V role without installing the management console feature.
This feature is normally being installed on Hyper-V Server Full Edition when using Server Manager Role installation wizard while it needs to be installed separatly if command line tools such as dism.exe, ocsetup.exe are being used.
The command that was used was
Dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V
Note: this command works fine on Server Core edition of R2 as it doesn't require management console and there's no server manager console either.
Instead, the following command should've been used on Windows Server 2008 R2 Full Edition;
Dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V /featurename:Microsoft-Hyper-V-Management-Clients
Hope this helps you prevent this mystery or solve it! So long...