The core (pun intended) issue is that Windows XP contains two kernels: single-core and multi-core. Likely, the guest OS only detected 1-core during installation and your Windows XP guest is running on the single-core hal and kernel. Follow the directions below to enable booting with the multi-core hal and kernel.
This worked for me (VirtualBox XP Pro)...
1) Go into c:\windows (your install path), search for sp3.cab. Open this cab file with 7-zip (although explorer may be able to natively open the file, if it can't then download 7-zip from sourceforge).
2) a) Extract halmacpi.dll to c:\windows\system32
b) Extract ntkrnlmp.exe to c:\windows\system32
3) Edit c:\boot.ini
Note: You will need to uncheck the Read-only property so you can save
your changes. Set back to Read-only once complete.
Copy the line that looks like this:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect /NoExecute=OptIn
Make the copied entry look like this:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
MultiCore" /fastdetect /NoExecute=OptIn /kernel=ntkrnlmp.exe
/hal=halmacpi.dll
Now you have a dual-boot option to utilize single or multicore (TaskManager will show two CPU graphs if this was successful). If multicore boots and works properly, then you can delete the single core entry from boot.ini.
well Microsoft site says that WinXP should automatically change the HAL - my did not. Strange thing, when I checked out my device manager there were 8 processors, but in task menager I could only see 1. So I reinstalled system and tadam - everythings fine. Thanks! – lbednaszynski – 2011-10-21T19:27:06.067