Migrating Hyper-V back to VPC! – Hal.dll

If you follow my posts, you'll know I didn't exactly follow the migration steps from VPC to Hyper-V.  So, I needed to get back to VPC to make some changes and then redeploy to Hyper-V.  Unfortunately I had already installed the "intergration services" of hyper-v which updates the HAL!  So, what to do?

Simply fire up an existing VPC after attaching the one you need to update the HAL as a secondary drive.  Assign it a drive letter, replace c:windowssystem32hal.dll with one that matches the OS (server 2003, 2008) and processor architecture (32 vs 64bit).

Fire up your VPC…it should load now!  (NOTE:  if it does not load, boot in Safe Mode, uninstall Integration services, your HAL will be replaced with the original).  SWEET!  Make your changes (uninstall Integration services, reboot, install VM additions, uninstall VM Additions), deploy to Hyper-V, re-install Integration Services.

If when you move over to Hyper-V you still get the  "Virtual machines exists" error, you have to delete some of the VPC services that don't get uninstalled!  Use the "sc delete <servicename>" command from the command prompt to delete them!

The only draw back is that you will have to re-activate your image after updating the HAL.