Running Windows XP Professional with VMWare Fusion and Multiple Processors

I was recently installed a ".vmdk" image into VMware Fusion on a MacBook Pro with multiple processor cores. The operating system in the image was Windows XP Professional with Service Pack 3. After I installed the image, I assigned 4 processors to the VM using VMWare Settings. But after I started the VM, I noticed that the XP Task Manager was showing only 1 processor.

I did some searching on the web and found that XP Professional supports multiple processors, but the VMware Community forums had a lot of unanswered questions. Finally I found a VMware Knowledge Base article titled Modifying the Hardware Abstraction Layer (HAL) for a Windows virtual machine (1003978) that provided some guidance.

In the Device Manager, I double clicked on the "Computer" node in the tree and it expanded to show a "Single Processor PC" node. I then right clicked on that node and left clicked on "Update Driver" and after a reboot, it showed "Multiprocessor PC" and the Task Manager was showing multiple CPUs.

You can verify this further by following these steps:

  • Open Windows Explorer
  • Navigate down to C:\WINDOWS\system32
  • Right click on the hal.dll file and left click on "Properties"
  • Click on the Version tab
  • Click on the Internal Name list item

If the value is halmacpi.dll then the Windows HAL is setup for multiple processors.

Hope this helps somebody in the future so that they don't have to spend as much time on this as I did.