1) This blog post may help:
2) And this:
Start VM with the XP cdrom in the player.
boot from cd-rom and press R this will load the recovery console
login with local administrator password of the VM
goto system32 directory, cd system32
type: expand d:\i386\halacpi.dl_ and press enter
type: copy halacpi.dll hal.dll and press enter, type Y to overwrite
reboot the VM
boot in normal mode and update all drivers, this is a automated proces, but check it
reboot again in normal mode
install VM additions
3) Or even this:
Problem: if the VM you created using Disk2vhd is XP and during boot the screen goes black after the bios boot and never finishes booting, you probably have a HAL issue. This has happened on every physical XP that I've used disk2vhd to make a VM.
Solution that has worked for me was to copy NTOSKRNL.EXE and HAL.DLL files from a known good VM to the bad VM. Abreaviated instructions using VPC2007Sp1 are:
1. Mount or add the VHD file from the VM you are having problems to a known good VM, should show up as a secondary hard drive, for example D: when you boot.
2. From the known good VM, do a search for NTOSKRNL.EXE and HAL.DLL files, you'll find many versions in a couple of different directories. Find the most recent and copy those files and replace the files on the VHD VM that you were having problems with, ensure to replace all the files in all directories. Shut down the VM.
3. Start the VM you were having problems with, it should now boot because you replaced the NTOSKRNL.EXE and HAL.DLL files within the VM with known good NTOSKRNL.EXE and HAL.DLL files from a known good VM.