O problema principal é que o Windows XP contém dois kernels: single-core e multi-core. Provavelmente, o sistema operacional convidado detectou apenas um núcleo durante a instalação e o convidado do Windows XP está sendo executado no núcleo e no kernel de um núcleo. Siga as instruções abaixo para ativar a inicialização com o núcleo e kernel multi-core.
Isso funcionou para mim (VirtualBox XP Pro) ...
1) Entre em c: \ windows (seu caminho de instalação), procure por sp3.cab. Abra este arquivo cab com 7-zip (embora o explorador possa abrir o arquivo nativamente, se não conseguir baixar o 7-zip do sourceforge).
2) a) Extract halmacpi.dll to c:\windows\system32
b) Extract ntkrnlmp.exe to c:\windows\system32
3) Edite 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.
Copie a linha que se parece com isso:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
Professional" /fastdetect /NoExecute=OptIn
Faça a entrada copiada com esta aparência:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP
MultiCore" /fastdetect /NoExecute=OptIn /kernel=ntkrnlmp.exe
/hal=halmacpi.dll
Agora, você tem uma opção de inicialização dupla para utilizar um único ou vários núcleos (o TaskManager mostrará dois gráficos de CPU se isso for bem-sucedido). Se o multicore inicializar e funcionar corretamente, você poderá excluir a entrada de núcleo único do boot.ini.