VirtualBox - XP guest does not see multiple cores/multiple processors

Environment:

  • Host OS: Win7 Pro 64bit
  • Guest OS: WinXP 32bit
  • VirtualBox version: 4.1.4r74291
  • Processor: Intel Core i7 2630QM with virtualization enabled

The Problem:

I need the guest system to use multiple cores. I have enabled the following options in VirtualBox:

  • IO APIC (motherboard tab)
  • PAE/NX (processor tab)
  • VT-x/AMD-V (acceleration)
  • nested paging (acceleration)

All other options on the System submenu are switched of. The 'processors' slider is set to 8.

The problem is that the guest system runs correctly, but only one processor/core is visible.


XP has 2 different HALs that are used for multi and single processor. If you installed XP when the virtual environment only had one processor then you may have to change the HAL or re-install.

You can find instructions on how to change the HAL on Microsoft's support site.

You'll need to select the ACPI multiprocessor option.


I had a similar issue, and I stumbled on this: http://www.nforcershq.com/forum/updating-the-hal-for-multiprocessor-support-t70331.html

I downloaded the devcon utility from Microsoft and issued these commands:

  1. devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
  2. devcon update c:\windows\inf\hal.inf acpiapic_mp

Then I rebooted and now XP can see all 4 cores.

Make a backup of the image before starting in case the system won't boot anymore!