I installed Windows XP in Virtualbox under Ubuntu.

After installing XP I want to change the VM to have two cpus.

How to do that without reinstalling XP?

link|improve this question

80% accept rate
feedback

1 Answer

up vote 0 down vote accepted

You'll just need to change your HAL. There's a "safer" way by upgrading the "computer" device in device manager or you can replace the file manually.

Actually, just change the number of CPUs and the uni-processor HAL should be able to recognize the added cores and trigger new hardware detection and thus changing the HAL.

See KB309283.

Edit:

To actually use 2 cores, you need to enable other options, like "Enable I/O APIC", to use more than one core. See manual.

HAL or hardware abstraction layer is some code that allow the windows kernel to run on different architectures. Normally the installer will detect your hardware configuration and install the correct hal.dll file to your system32 directory. If you "upgrade" your CPU, due to the wonderful compatibility in the X86 family, your old HAL should still work. According to the KB article above, the old HAL should also detect changes in the hardware and trigger the hardware detection process to install a new HAL. If that did not happen, you should be able to do it manually by following the instructions in the KB.

link|improve this answer
I'm unable to run as 2 cpu when I set to 2 cpu configuration. I use speccy, and it says I only have 1 cpu and 1 core. What's to do next? I'm not quite understand that what should I do with HAL. Thank you~ – sam Dec 20 '11 at 16:00
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.