Firstly, with Windows 2008 R2, which has recently become RTM, I downloaded the .iso from the technet subscription website and installed the x64 edition using the enterprise option. Hot-adding a 2nd vCPU caused a BSOD inside Windows, it then did a reboot and then I certainly did have a 2nd vCPU!
So I went back to the 1st release of Windows 2008 x64 Enterprise Edition. The test I did was to see if I could safely add a 2nd CPU. I also checked to see if the HAL was updated, and if actual threads were executed on the second vCPU. The screen grab below is the HAL currently in use before the adding of the 2nd vCPU
I then add the second vCPU. Basically, all you do is edit the VM, and then find the vCPU, using a spinner to increase the value. Unsurprisingly, after making the change, the 2nd CPU did not show up, despite the fact the option to add a second CPU was available. From reading the Windows 2008 features guide:
So, why is it there if it doesn’t work and isn’t supported by MS you might ask? Good Question. Answer: I don’t know, apart from the fact that perhaps VMware wanted to allow the functionality to be there because future updates by MS may enable hot-add of CPU for other versions of Windows 2008. There does have to be some confusion around what Windows OSes support hot-add of vCPU. For example, vmlover.blogspot.com lists Windows 2008 Enterprise. What vmlover also flags up is the idea that it's one thing to get the new CPU recognized by the OS, but quite another to then get an application to recognize it.
This was first published in July 2009