Tips for migrating a physical computer to a virtual machine (part 4)

Rate This
  • Comments 9

Well we are at the final post in my series on migrating a physical computer to a virtual machine.  If all other steps have failed the last thing to check is the HAL that is being used by the operating system.  The HAL is the 'Hardware Abstraction Layer' and is responsible for some of the lowest level access in the system.  You can find out about all the various HALs here:;en-us;309283.

Having the wrong HAL loaded can result in:

  • Blue screens during boot
  • Unrecoverable processor errors
  • Boot simply 'stalling' and never finishing

In order to update the HAL you should boot into the recovery console (as described here:  You should then change directory to the \WINDOWS\SYSTEM32 directory and run "expand D:\I386\HALACPI.DL_" followed by "copy HALACPI.DLL HAL.DLL".

Note - this method is not officially supported by Microsoft - but I have found it to be very handy :-)


Leave a Comment
  • Please add 5 and 8 and type the answer here:
  • Post
  • Ben,

    If this works....You will be my sweatheart.


    I had a ghost image of a Win2K (AS) desktop PC that I've been trying to migrate to a VPC. I was running into the stalling during boot thing.

    I've gotten it to work the uber-hard way by doing a complete reinstall with the setup CD, but that kind of defeats the whole purpose of the ghost image...

    Well NOW I have another way! Following your Tip #4 above I was able to restore my ghost image to a VPC and then after replacing the HAL was able to get it to boot.

    In my case I had to use the plain jane "HAL.DL_", but still it was your tip and info that got me going...

    (Let's ignore the fact that I didn't have the local admin password, so had to hunt down a free NT Password remover utility ( I love technology :)

    So thank you again for all your VPC posts...

    Have I said you rock?
  • Thanks Ben. Thank you David. expanding Hal.dl_ to the system directory does the trick. After Windows XP is loaded, it keeps detecting the new hardware of virtual PC and xp installs all the necessary drivers by itself.

    Thank you for all your posts!
  • Ben, given this HAL trick is it possible that MSDN would be able to release VPC images of certain systems? I'm thinking of the Team System goop primarily. I keep looking at the 3 OS install to get VSTS up and running and thats as far as I get!

    An image of SQL Yukon, an AD server and a VS.NET with all the add-ons would make life a lot easier!
    Do you think thats possible? can you explain why not so I can quit dreaming?!

    feel free to just email me if its not appropriate for comments/blog entry ( should get to me)

    cheers - Ian
  • Hi Ian,

    I have talked with people on the MSDN team about doing this - but I do not know of any immediate plans to make this happen.

  • your solution is so simple and great at the same time.. wow!! i've been reinstalling, with the os cdrom, some of my ghost images that couldn't start on the virtual machine.. i'll try it today and thanks again for this great help you're giving out to anyone like me who's start using vpc with a kind of oups.. attitude.

  • I could've used this a couple months ago... I ended up trying pretty much everything you said in this series (for me, things that helped were fixMBR and disable individual services for some CD-burning software), but the biggest trick was replacing the HAL and the kernel files with the single-cpu versions from the CD. It took me a while to finally arrive at that on my own. Apparently the ghosted image had multi-cpu HAL and kernel because the source PC was running hyper-threading, which causes a HAL and Kernel to be installed that aren't compatible with virtual pc.
    Glad to see this posted somewhere.
  • Thanks so much for this! It's been very helpfull. In my case, doing part four fixed my booting issues w/o step three.  Also, step four is quick and easy compaired to three, so why not try it first?  Again, great tutorial.

  • I just wanted to give a shout out - this process was instrumental in letting us get integration services installed on a 2003 server that has been dragged from physical to virtual server 2005 to now hyper-v.  After performing this process, we were able to open device manager, and then delete the "standard pc" device.  then after reboot integration services installed.  Thank you!

Page 1 of 1 (9 items)

Tips for migrating a physical computer to a virtual machine (part 4)