I had a couple of Windows 2008 Server Virtual Machines that we were running as SharePoint development on Virtual Server that I decided to migrate to the Windows 2008 Hyper-V. The migration went very smoothly and the servers were back up and running in a matter of minutes.
I then added capacity to the Hyper-V servers so that each box would have 4 processors.
However, the servers would only see a single processor. As you can see from the image, Hyper-V had the correct configuration, but the machine didn’t see the new procs.
This is because Windows Server uses a hardware abstraction layer (HAL). You can find more HAL details at http://en.wikipedia.org/wiki/Hardware_abstraction_layer. The Windows HAL is configured during the installation process. Since the hardware doesn’t normally change drastically on a server, Microsoft has configured Windows to not check for new processors during boot.
With Windows Server 2008, Windows Vista, and the new Windows 7, you can configure Windows to Detect HAL changes.
Here are the steps that I followed to get Windows to see the new processors added in Hyper-V.
First, go to the System Configuration (by launching MSCONFIG.EXE). You can launch by typing MSCONFIG at the command prompt.
Once the Windows System Configuration window opens, you should go to the Boot tab and click the Advanced options button. You should see a checkbox labeled Detect HAL on the BOOT Advanced Options page. After you select this box and click OK, you will be prompted to restart the server. During the next restart, the new processors will be restarted.
I would then go back to the BOOT Advanced Options configuration and unselect the Detect HAL checkbox, as it will remain checked and will likely slow performance during future boot cycles.