Changing Windows 2003 from uniprocessor to multiprocessor on a virtual machine

Had a situation where a Windows 2003 virtual machine was installed with a single vCPU and I needed to add another vCPU to test a loading issue. Shutting the machine down and adding the second vCPU as normal I noticed that the virtual machine again restarted with task manager only showing 1 processor. Using Google didn’t help very much as the multi processor drivers are meant to be easy to select when needed(using device manager and the item under computer).

Eventually I foundĀ  this site and this helped.

Basically download the devcon.exe application from

Then run the following commands from the folder that the devcon.exe application is.

devcon.exe sethwid @ROOT\PCI_HAL\0000 := +%HAL%
devcon.exe sethwid @ROOT\ACPI_HAL\0000 := +%HAL%
devcon.exe update %windir%\inf\hal.inf %HAL%
devcon.exe ReScan

Shutdown and restart the virtual machine and the second processor will show up in task manager.