Issues with adding a host to VMM when the computer has more than 16 processors

It has come to our attention that trying to add a computer with more than 16 processors (for example a quad six-core machine with 24 processors) is crashing the VMM server with the following exception:

System.InvalidOperationException: Nullable object must have a value.

   at System.Nullable`1.get_Value()

   at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.GetProcessorData()

   at Microsoft.VirtualManager.Engine.Adhc.WindowsHostDataProperties.PopulateProperties()

 

From a Hyper-V perspective we support up to 24 cores (requires a QFE https://blogs.msdn.com/taylorb/archive/2008/09/23/24-core-support-for-hyper-v-hosts.aspx). We have a few workarounds for VMM to work in this case (either do #1 or implement #2 and #3):

 

  1. You can limit the number of CPUs via msconfig to 16 (we know this solution is not ideal in this case, but wanted to document it anyway)
  2. Go to BIOS, then navigate to Advanced Setup>Clustering Mode and set it to Physical (default is Logical)
  3. Use Bcdedit to add USEPHYSICALDESTINATION and set to YES. This forces the physical APIC to be used.

cheers.