After you convert a drive to a virtual hard disk and mount it in Virtual PC 2007, during bootup it may just give you a blank screen.
The only solution I’ve found to get past this is by replacing hal.dll with halacpi.dll from the operating system’s source CD.
Start up your Virtual PC 2007. Select CD menu and choose to either use a physical CD-ROM or if you have an ISO image of your operating system disk, choose “Capture ISO image…” and select the location of your ISO.
Reset your virtual machine and upon next boot, choose to boot from CD-ROM.
When the CD has finished loading needed drivers, choose “Recovery console” by typing “R”. See below image.
You need to choose the Windows location for the Recovery Console to continue. Typically, this is “1” unless you’re system has a special setup. You’ll need to specify your administrative password if you set one on that Windows installation. See below.
Once you have logged into the Windows setup, you need to change directory to system32 directory. See below.
After changing into system32, we need to expand D:i386halacpi.dl_. Note, substitute D with the letter of your CD-ROM.
I previously ran this before I created this walk-through. If you happen to get a prompt asking to overwrite the existing file, go ahead and specify “y”. See below.
After expanding halacpi.dl_ (it expands to halacpi.dll), we need to copy it over hal.dll. Hal.dll exists, already so tell it “y” to overwrite existing hal.dll. See below.
Reboot your virtual machine. If you are using Undo Disks, make sure when you’re completed that you do save the changes to the disk.
If there is a better solution, please let me know. I originally found a link in the Sysinternal’s forum for Disk2VHD that pointed to a blog posting. Start at section 8 in that blog post.