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:
devcon sethwid @ROOT\ACPI_HAL\0000 := +acpiapic_mp !acpiapic_up
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!