The reason is usually, that the normal ACPI HAL (Hardware Abstraction Layer) has been installed which does not support more than one core. scid=kb%3Ben-us%3B309283&x=10&y=9) Especially in the context of virtual machines running under SUN Virtual Box, this does not work.In theory, XP recognises when a new CPU is installed, re-checks, and installs the correct hal. When a windows XP system is installed with only one core active, and more core(s) is/are added later on, the CPU “id” does not change …no redetection is done, the other cores are not recognised.

In the case of Virtual Box, the situation may also be caused on the IO-APIC not being enabled on install.

According to SUN, XP Uniprocessor with IO-APIC is slower than without. You can downgrade it, though, which is not a good idea … I found a very interesting post about the “devcon.exe”, a tool provided by MS as “the command line version of the device manager”, and its application to the HAL switch problem. Make backups, find out beforehand how to restore, etc.

Using a virtual box system, this is easy, just make a snapshot and restore if the upgrade does not work.

After running devcon, you reboot the system; after the reboot, XP re-detects all hardware, and the requests another reboot.

Sometimes, people have the problem that their Windows XP is running as a “single core” system, only, although there are two or more cores installed.

This can usually be seen in the task manager, where performance shows only a single graph, although “one diagram per CPU” is selected.I talk about cores here, the same applies to multiple processors.Those are usually used on servers, though, where few people would start “fixing” the HAL.This may change some of the hardware names, especially the LAN connection may get the number 2.You can use the show-hidden trick of the device manager to display the old devices and remove them: scid=kb%3Ben-us%3B315539&x=14&y=11 Once you get a ACPI MP hal, you can switch it to whatever you like using the device manager.