Windows Server 2012 Hyper-V: Configure VM Processor Compatibility for Legacy Operating Systems

Windows Server 2012 Logo

In Windows Server 2008 R2 you had a setting in the Hyper-V Manager GUI to enable Processor Compatibility for legacy operating systems such as Windows NT 4.0 Server or Windows Server 2000. In Windows Server 2012 Hyper-V this setting is gone from the GUI, but you can still change it via Windows PowerShell.

By using the Get-VMProcessor cmdlet you can list the virtual CPU information of your Hyper-V virtual machines.

Hyper-V Get-VMProcessor

As you can see you can find a property called CompatibilityForOlderOperatingSystemsEnabled which is set to “False” by default and this is okay in 99% of all cases. But even if Windows NT 4.0 Server or Windows Server 2000 is not officially supported by Microsoft anymore there are some customers which have to run some VMs with legacy operating systems and by changing this setting via Windows PowerShell and the Set-VMProcessor cmdlet you can allow VMs to run old operating systems.

 
Set-VMProcessor NT4VM -CompatibilityForOlderOperatingSystemsEnabled 1

And of course you can also change it back

 
Set-VMProcessor NT4VM -CompatibilityForOlderOperatingSystemsEnabled 0