Warning: Changing the number of virtual processors after the guest OS is installed may make your virtual machine unstable.
You’ve probably seen this message before while working with VMware, especially if you’ve done physical to virtual migrations.
As a best practice, it is recommended to always start with only 1 vCPU when creating virtual machines and only increase the number of vCPUs if you think it’s necessary and if the virtual machine is actually running applications that can utilize multiple processors to avoid wasting resources.
Increasing the number of processors from 1 to 2 or more is actually not a problem with Windows Server 2003 because it will automatically change the HAL to ACPI Multiprocessor PC. But setting the number of virtual processors back to 1 won’t automatically change the Windows 2003 HAL back to ACPI Uniprocessor PC.
According to Microsoft, “If you run a multiprocessor HAL with only a single processor installed, the computer typically works as expected, and there is little or no affect on performance.” But if you’re like me and just want to be absolutely sure that there won’t be issues, switching back to the uniprocessor HAL in Windows Server 2003 is pretty easy:
- Make sure you have at least Windows Server 2003 Service Pack 2 installed.
- Shut down the virtual machine.
- Change number of virtual processors to 1.
- Power on the virtual machine.
- In Windows, go to Device Manager -> Computer.
- Right-click “ACPI Multiprocessor PC” and choose “Update Driver…“.
- Select “No, not this time” option -> “Install from a list or specific location” -> “Don’t search. I will choose the driver to install.” -> select “ACPI Uniprocessor PC.”
- Reboot the virtual machine.
That’s it! You’re all set!