VMware
1 2 3 4 Previous Next 55 Replies Last post: Jul 20, 2009 2:12 AM by lasse1234  

Parallels conversion continued: How to change a WIndows XP VM's HAL posted: Aug 14, 2007 7:55 AM

Click to view brianriceca's profile Master 970 posts since
Oct 11, 2003

Some readers of the instructions for converting a Parallels VM to Fusion

http://www.vmware.com/pdf/fusion_vm_from_parallels.pdf

have complained that it needs a concluding chapter. Because Parallels VMs running Windows are built using a non-ACPI HAL, and because converting a VM from Parallels to Fusion does not change the HAL, converted VMs cannot use Fusion's support for dual virtual CPUs.


The solution is to change the HAL. Before Windows XP, it was fairly easy: just go into Device Manager and choose a new one (NT4) or delete the old one and reboot (2000). And the point is moot for Windows Vista: VMware Converter does not yet support converting Vista installs. But Converter does support converting XP installs, so a lot of people have been using it to bring their Parallels XP VMs to Fusion. Unfortunately, Microsoft does not support changing an XP VM's HAL without reinstalling Windows.


A lot of people asked, "Okay, how do you do that?" So I prepared this followup. If you follow it, be sure to make a backup before you start! The following is one guy's experience, not an official VMware document. Frankly, most of what's in this document is Microsoft stuff rather than VMware stuff anyway.


I started off with a Parallels VM and converted it to Fusion using the instructions in the PDF I linked to above. I even installed VMware Tools in it. As you will see later, I could have omitted that step, but I wanted to mirror what most folks will have done with their converted VMs up to this point.


Next I connected my VM to a Windows XP SP2 CD. When Windows noticed the CD, it ran the CD's autoplay script and gave me this menu:




I picked "Install Windows", chose Upgrade from the "Installation Type" pulldown. I had to re-enter my Windows product key. Pretty soon, Windows rebooted into its text (non-GUI) installer.


WARNING! If you're following along with me, be alert here! When Windows reboots, click once in the window to ensure that it has input focus. Windows will, for a few seconds, display a message telling you to press F6 if you have a driver disk. Instead, when you see that message, press F5.

Windows will not acknowledge the fact that you pressed F5 right away. But in a few seconds, it will show you this screen:




Believe it or not, that's a scrolling window. Use the up-arrow to scroll all the way up to ACPI Multiprocessor HAL or ACPI Uniprocessor HAL.


Either of these HALs will allow your VM to shut down cleanly, without requiring the gui.exitonCLIHLT = "TRUE" .vmx file hack that that PDF discusses. But only ACPI Multiprocessor HAL will allow your VM to have two virtual CPUs. So I picked ACPI Multiprocessor HAL and let the reinstallation proceed.


Eventually Windows rebooted into its GUI installer, and the boring part began.




After 30 minutes or so, Windows finished reinstalling itself; I declined the opportunity to register my copy of Windows again; and then I had my VM back. Just one catch: the mouse was a little broken. Apparently, something in the reinstall process messes up the VMware mouse driver. So I hit ctrl-cmd to get input focus out of the VM, and then re-launched the VMware Tools installation once again (as always, by pulling down the Virtual Machine menu and choosing Install VMware Tools).


But this time I did a Repair of VMware Tools rather than an Install.




I allowed VMware Tools to reboot the VM as always, and my mouse was back to normal on reboot. Next I wanted to take advantage of the fruits of my labors! So I shut down the VM.




Look! Stand By isn't grayed out anymore! That's because we now have an ACPI HAL.


While the VM was off, I went into Fusion's Settings dialogue and changed the number of virtual CPUs from 1 to 2. Then I booted up and reveled in the multiprocessor goodness.







Mission accomplished.

Click to view jamng's profile Enthusiast 63 posts since
Mar 7, 2007
This procedure doesn't work if I have an original XP disc and upgraded to XP SP2 via Microsoft Update patches. Windows won't allow me to "upgrade" using an older disc.
Click to view tirmidi's profile Hot Shot 138 posts since
Dec 22, 2006
This procedure doesn't work if I have an original XP
disc and upgraded to XP SP2 via Microsoft Update
patches. Windows won't allow me to "upgrade" using an
older disc.

You need to make a "slipstreamed" XP SP2 disk, the instructions for which are here:

http://www.winsupersite.com/showcase/windowsxp_sp2_slipstream.asp

Click to view tirmidi's profile Hot Shot 138 posts since
Dec 22, 2006
Good point, tirmidi! I should not have forgotten
that a lot of people have old pre-SP2 CDs.

Folks who want to make an SP2 CD should know that
there is no need to actually burn a physical CD-ROM.
Instead, VMware Fusion can use the ISO image
directly as if it were a CD. ISO images typically
give better performance than physical CDs.

Good point, Brian. I should have remembered that you don't really need to burn a CD. :-)

Click to view getwired's profile Hot Shot 144 posts since
Jul 26, 2005
FWIW, Brian - when Vista support is there, the process is much easier - since there is basically only one HAL in use anymore (multiprocessor ACPI) for both x86 and x64. That has always been the case for x64 since it shipped with Windows Server 2003 SP1.
Click to view sunnfun's profile Novice 9 posts since
Aug 14, 2007
Quick question, does this erase all the software and security updates? Do I have to redownload and reinstall the 120+ upgrade packs?

If that's the case I'll pass on this and live with only one core...

Thanks,
Sun'n Fun
Click to view getwired's profile Hot Shot 144 posts since
Jul 26, 2005
Yes, re-running setup will regress it to whatever version (most likely XPSP2) you have installed.
Click to view sunnfun's profile Novice 9 posts since
Aug 14, 2007
Yes, re-running setup will regress it to whatever
version (most likely XPSP2) you have installed.

Oh, @#$%... I guess I have to wait till the weekend then so I have two days to run Software Update...

Thanks for your reply, much appreciated!
Click to view sunnfun's profile Novice 9 posts since
Aug 14, 2007
Yes, re-running setup will regress it to whatever
version (most likely XPSP2) you have installed.

So, I had an unexpected day off today and ran the Update. Everything went smooth and XP now shows two processors. Only problem is that now I can't get online anymore. The "vmware accelerated amd pcnet adapter" shows a yellow "!" in the Device Manager and it won't go online anymore.

I ran the VMWare Tool repair twice now (Once after XP Setup was done and once after removing and reinstalling the Network Adapter), no luck...

Any Ideas?

Thanks,
Sun'n Fun
Click to view sunnfun's profile Novice 9 posts since
Aug 14, 2007
Brian, thanks for your detailed reply!

Yes I am logged in as an Admin. I did steps 1. trough 3. to no avail.

Incidentally, after you completely uninstall VMware
Tools and reboot, your VM will be able to talk on the
network, using the unaccelerated AMD PCnet 32 driver
that ships with XP. You would not want to live that
way, because a VM without Tools is quite annoying;
the mouse is weird, and you have to click ctrl-cmd to
get input focus out. But if you had some reason to
want to connect this VM before Tools finished
installing, that'd be the way.

I have now removed the driver and also removed the network adapter from the VM Configuration, rebooted a few times as necessary and then added the adapter again in the VM Config.

Guess what, it won't even install the generic driver. It looks on the windows CD and then comes up with

"There was a problem installing this hardware: AMD PCNET Family PCI Ethernet Adapter".

An error occured during the installation of the device:

The system cannot find the file specified."

So it won't even use the generic driver. I have then reinstalled the VM Tools, still no luck. The entry in the Device Manager says that "This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)". The driver version is 2.0.0.10 VMware, Inc.

I actually have gone back to my backup VM from before and did the upgrade to the multiprocessor HAL all over again, same results. It almost looks like all the windows updates and patches made the installation incompatible with the intial Windows XP SP2 install CD.

Any more ideas? I'd hate to go back to my single processor installation, The VM feels much snappier with Multiprocessor enabled.

Thanks a lot!
Click to view sunnfun's profile Novice 9 posts since
Aug 14, 2007
What's in your C:\WINDOWS\Driver Cache\i386? Windows
XP is supposed to ship with a copy of a driver for
the AMD PCNET Ethernet card in driver.cab in that
folder.

I have two files in there:

driver.cab 61,568 KB 8/4/2004
sp2.cab 18,300 KB 8/4/2004

Some people in this forum who had problems with
conversion had run Parallels Compressor and chosen to
allow it to delete driver caches. I would tell you
to do what those folks have been doing (copying over
driver.cab and sp2.cab from another XP SP2 machine),
except, if that were your problem, I don't see how
you would have gotten this far. For those folks,
VMware Converter itself was failing. I guess it
couldn't hurt to try, though, especially since you
have a backup.

It looks to me like there is a problem to have a Windows XP SP2 Installation that is fully patched with literally hundreds of security updates and patches and what not to be re-installed with a XP SP2 CD. There seems to be an incompatibility between those.

I'll try to save the driver cache from the pre-update VM to a neutral location and see if I can run the driver update from there. Would you recommend to save other files too?

Did this machine have a virus infection at some point
in its life, which resulted in the deletion or
quarantining of driver files?

No, there were no problems at all. Like I said earlier, this VM ran just fine before I've installed Windows again. And only the NIC driver gives me these problems, everything else is just fine (See attached screenshot).

Did you buy your copy of Windows XP originally from a
guy selling stuff out of the trunk of his car? :-)

I bought it on a flea market in Kuala Lumpur. It should be genuine, no? ;)

No really, it's an OEM copy and I got it from Newegg.com two years ago.

But seriously, I am starting to worry that either
your install media or your Windows install is
corrupt.

I think the CD corrupts a fully patched XP SP2 installation and for some reason the VMWare NIC driver is affected by this.

Is there a way to manually install/update the driver? I tried to start the VMWare Tools installation and then update the driver from the mounted CD image, but it won't let me since the drivers are the same version...

If I would only to be able to connect to the Internet and have Windows Update run again and re-install all those patches...

Message was edited by:
sunnfun
Attachments:

VMware Developer

SDKs, APIs, Videos, Learn and much more in the Developer community.

Learn More

Developer Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

VMware vSphere

Come witness the next giant leap in virtualization.

Register Today

Communities