Last month, VMWare released
Fusion, a virtualization program that lets you run Windows and other x86-based operating systems on an Intel-based Mac. While working on Macworld ’s upcoming review of the software, I wanted to test the ability to convert a Parallels virtual machine (VM for short) into a Fusion VM. This feature is described on VMWare’s Web site, and I was able to make it work.
And why might you want to do such, you may ask? If you use
Parallels Desktop for Mac and you’ve already installed and customized your Windows environment, the conversion process I’ve outlined here will let you move your customized Windows set-up over to Fusion. If you don’t use the converter, you’ll have to start from scratch with a fresh Windows installation.
In my tests, I found the process of converting one virtual machine into another to be somewhat involved. If you’re thinking about doing the same thing on your computer, here’s a how-to that will walk you through each of the steps.
But before we get started, consider these caveats:
It might not work. While the process I outline below worked well for me, a co-worker had no luck at all in converting his Parallels VM.
You give up some functionality. Even if it does work, unless you take a somewhat time-consuming extra step (upgrading Windows over the top of itself), your converted VM will not be able to take advantage of Fusion’s ability to use multiple CPUs.
With those warnings in mind, if you still want to proceed, read on.
Before you can start the conversion process, there are some things you’ll need to have:
A working Windows installation in Parallels. Technically, this could be nearly any version of Windows, though I only tested this process with (and this write-up is based on) Windows XP Pro.
An installed copy of Fusion that you’ve run at least once. You need to run it so that it will create the Virtual Machines folder in your user’s Home folder.
Some form of file sharing between Parallels and the Mac OS. You can use Parallels Shared Folders, or create a network shares on your Mac that you’ll then access from Windows (this is the method I used). Either way, you need to be able to see the Virtual Machines folder from within Parallels.
A fair amount of free disk space—at least as much as your virtual machine currently uses, plus some additional so that your Mac has enough to work with, too. More on disk space requirements a bit later.
A copy of the PDF titled “Converting a Parallels Virtual Machine to Run in VMware Fusion,” which can be found on the
Fusion Documentation page.
Optionally, a full Windows XP SP2 installation CD, which will be necessary if you want to upgrade your converted VM to work with multiple CPUs in Fusion.
Note that VMWare also has an extensive collection of
online training videos for Fusion, including one on converting physical PCs and other companies’ VMs to Fusion’s format. You’ll need to register for a free account, but there are no other costs involved. So if you’d rather watch the video training, click that link—really, I won’t mind. I haven’t watched the video myself, so I can’t comment on how useful it may be.
Keep in mind that most of the steps you’ll be reading here are covered in the above-linked VMWare conversion PDF. This article is designed to expand or clarify those steps as necessary, so I won’t repeat everything it says. Think of this how-to as a helper document for the VMWare PDF, and not a standalone solution guide.
Step One: Install VMWare Converter
Assuming you’ve got all the prerequisites covered, here’s how to go about converting a Parallels Windows XP Pro VM into a Fusion VM. I first ran my backup app and created fresh backups of my Parallels’ VMs, just in case something went horribly wrong. I highly recommend backing up the VM you’ll be converting, at the least, even though it shouldn’t be affected by this process—although the program is called VMWare Converter, it’s really cloning one VM to another, leaving the original intact.
After you’ve made your backups, launch Parallels and download and install (if you haven’t already) VMWare Converter, then launch the program. Now, before you go any further, make sure you have enough drive space in Parallels for the conversion. The VMWare Converter will apparently need as much free drive space as your VM currently takes up (not its capacity, but its utilized space). This wasn’t clear to me on my first attempts at using the converter, and I received this error message in the VMWare Converter:
ERROR: Failed to take snapshot of a source volume. Possible causes include not having any NTFS volumes on Windows XP or Windows 2003 source systems, and not having enough free disk space.
I was confused because my Mac drive had 200GB free for a 10GB VM conversion. My Parallels VM, however, had only 2GB free, and that was the cause of the problem. If your Parallels VM lacks free drive space, you do not need to use the time-consuming Parallels Image Tool to expand it, however—there’s a simpler and faster solution: just add another virtual hard drive in Parallels. If you have sufficient drive space in your VM, you can skip the following section and
jump to Step Two.
Aside: Create more drive space in Parallels
To add another virtual hard drive, shut down Windows and then choose Edit -> Virtual Machine. In the new window that opens, click Add, which will open another window. Select Hard Disk in the Available Hardware list, then click Next. On the next screen, leave the selected option (Create a new virtual hard disk image) as is and click Next. On the next screen, choose a size for your new hard drive to provide enough space, and leaving the format set to Expanding, then click Next. Finally, enter a path for the hard drive (you can leave it as is) and click Finish.
You can now reboot your Windows VM in Parallels, but (sadly) there’s still more work to do to use your new hard drive. In Windows XP, you’ll need to format the drive to make it usable. There may be many ways of doing this, but here’s the one I know. Go to Control Panels -> Administrative Tools -> Computer Management, and then click on the Disk Management entry in the Storage section of the list. If you’re lucky, this will automatically launch the Initialize and Convert Disk Wizard. Click Next a few times, and you’re done…with the first step. In the lower right pane of the Computer Management window, click on the icon and text next to the white block area representing the drive you’ve just created, as seen here:
It’s not entirely obvious, but that text block labeled “Disk 2” has been clicked. Once it’s been clicked, select Action -> All Tasks -> New Volume from the menus. This will launch the New Volume wizard. In this wizard, you can just click Next until you see the Finish button (though you can save a bit of time if you check the Quick Format box on one of the wizard’s screens). When the wizard completes, you’ll finally have a new, usable, mounted hard drive in your My Computer window. (I really think there must be a faster way to do this, but I’m not enough of a Windows expert to know what that method might be. If you know a simpler way, please share the secret!)
You don’t need to do anything to make the VMWare Converter use this new drive; as long as it shows up as a device in your My Computer window, the converter will use the space.
Step Two: Make sure sharing works
Before the next step, make sure you can see the Virtual Machines folder on your Mac from Windows in Parallels—if you need help setting this up, both the Parallels manual and the VMWare conversion guide linked above provide detailed instructions. The VMWare Converter will write its converted files into this directory, so it’s critical that sharing is working before you start.
Step Three: Run the VMWare Converter
You should see a shortcut for the VMWare Converter program on your Windows desktop; double-click it to launch it. The first time you run the program, it will ask for a license code; ignore that request and click the Continue in Starter Mode button. When the program’s interface appears, click the Import Machine entry on the toolbar, just below the File, Edit, etc. menu items. This will launch the Import Wizard; click Next twice to get to the Source Type screen. Make sure that “Physical computer” is selected on this screen, then click Next to reach the Source Login screen. On this screen, click the option for “This local machine,” then click Next.
The next screen that appears is the Source Data screen; here you’ll tell the VMWare Converter which hard drives you’d like to convert. Assuming you have a typical one-disk VM set up, the only disk you need to check is drive C, the one that contains your Windows installation. If you created another drive to have room for the conversion, make sure it’s not checked. Click Next twice to reach the Destination Type screen, and click the button for “VMWare standalone virtual machine.”
Click Next to reach the Virtual Machine Name and Location screen. For the Virtual machine name field, you can enter whatever you like—it’s a temporary name that you’ll replace later on anyway. As an example, I used Parallels_conversion . For the Location field, click Browse and find the Virtual Machines folder. For me, it was in my Network Places folder, as I’d set it up that way. Once you have Virtual Machines highlighted, click OK.
From here on out, you can just click Next until you get to the Ready to Complete screen—none of the options need to be changed. Once you reach the last screen, click Finish to finalize your conversion job.
Step Four: Wait
Once the VMWare Converter starts working, there’s nothing for you to do but wait. How long you’ll wait depends on how much data is on your virtual machine, and the speed of your Mac. Converting about 8GB of data on my Mac Pro took roughly 30 minutes. (I left the room, so I don’t know exactly how long it took.) When it’s done, you can quit VMWare Converter and shut down your Parallels VM.
Step Five: Create a Fusion VM
In the Finder, navigate into your Virtual Machines folder, where you should see a subfolder named as you specified in the VMWare Converter process. Inside that folder will be a number of files; delete the one that ends in .vmx , but leave the rest alone. Now launch Fusion and tell it to create a new virtual machine. On the Choose Operating System screen, set the Operating System and Version to match that of your Parallels VM—Microsoft Windows and Windows XP Professional in my case. Click Continue to reach the Name and Location screen. In the Save as box, enter the final name for your converted virtual machine—I used XP Pro from Parallels , for instance. Click Continue to reach the Virtual Hard Disk screen. Specify the desired size, and then click the gray triangle next to Advanced disk options.
In the Advanced disk options section, click the “Use an existing virtual disk” box, then click the drop-down menu and select Other. Navigate to the same subfolder you were in previously (where you deleted the .vmx file), and select the .vmdk with the shortest name then click Choose. On the Finish screen, uncheck the “Start virtual machine now” box and click Finish.
Fusion will now create the virtual machine for you; click OK in the Settings window when it’s done.
Step Six: Power up!
Start the new virtual machine by pressing the large gray button in the middle of the window. The first time you do this, you will probably see a warning about “virtual SCSI devices.” It’s a meaningless warning, so click the “Never show this dialog again” box and then click OK. You’ll now see a whole bunch of messages about new hardware being found; just let them all stream past and wait patiently.
Here’s a key difference from the VMWare setup PDF’s instructions: That document tells you to click Cancel if you ever see Windows’ dialog asking if it’s OK to search for drivers for some of the new hardware. I tried it this way the first time I ran the converter, but it led to issues later on—I couldn’t get the VMWare Tools installed. So in my case, I didn’t click Cancel, but rather told Windows that it could connect to Windows Update “Yes, this one time only” for each dialog that appeared. This seemed to work for me; I have no idea why it didn’t work as VMWare suggested. I would recommend following their advice first, and only if it doesn’t work, try letting Windows search for drivers.
Eventually, you’ll be asked to reboot Windows. Do so, then use the Virtual Machine -> Install VMWare Tools menu item to install the oh-so-useful VMWare Tools.
Step Seven: Clean shutdown
This last bit is somewhat… strange. Because of differences between Parallels and Fusion’s VMs, you cannot fully shut down a converted Windows XP virtual machine. If you choose Shut Down in Windows, you’ll eventually see this on your screen:
At this point, you’ll have to use the Virtual Machine -> Power Off menu item to fully shut down Windows. However, this is also a symptom of a bigger issue: your converted Windows VM cannot be set up to use multiple CPUs, at least not in its current condition. The VMWare PDF explains this in more detail, but basically, there are two workarounds for the shut down issue: one if you never intend to use multiple CPUs, and the other solution is to actually enable multiple CPUs, which has the side benefit of solving the shut down issue.
If you’re interested in the one-CPU shut down workaround, you can read about it in the VMWare PDF; it basically involves editing a file and adding one line of text. However, I’m going to spend the rest of this how-to talking about the steps involved in adding support for multiple CPUs to your converted Parallels VM, thereby solving the shut down issue at the same time. Please keep in mind this step is completely optional , and is only necessary if you want your converted VM to support multiple CPUs.
Adding multiple CPU support to a converted VM
For this step, you’ll need a full Windows XP Pro SP2 installation disc—one that lets you do upgrade installs. Typically, this means you can’t use one of those less-expensive OEM or DSP discs you might have purchased. Assuming you have one of the full install discs, insert it while running your converted VM in Fusion. Windows Auto Play will launch the installer; click on Install Windows XP and choose the upgrade option from the Installation Type drop-down menu.
Windows will grind away for a bit and then reboot into the non-GUI portion of its installer. During this stage of the process, you’ll see a screen with a message telling you to press F6 if you have a driver disk. Instead of pressing F6, press F5 at this point. For a second or two, nothing will seem to happen, but then you’ll see this screen:
Now, believe it or not, that two-line box you see there is a scrolling box. Press the up arrow repeatedly until you can select “ACPI Multiprocessor HAL” from the list of choices. Press Enter after it’s highlighted, and Windows will eventually continue with its upgrade. You will be asked, at some point, to re-enter your Windows key, and you may or may not have to reactivate Windows when you’re done (I didn’t). The installer will run for 20 to 30 minutes, and then reboot the machine one last time.
At this point, finally, you’re nearly done! On my machine, the mouse and video graphics seemed a bit “off” after the upgrade. So I used the Virtual Machine -> Install VMWare Tools menu option again. Instead of installing them from scratch, however, I chose the Repair option in the installer. A couple minutes and a reboot later, and everything was back as it should be.
The very last step is to actually enable the multiple CPU support you’ve just added. Shut down (not suspend) your virtual machine, then select Virtual Machine -> Settings. In the Processors section, select two virtual processors and click OK. Start up the virtual machine again and enjoy the multiple CPU goodness. To prove you’ve got multiple CPU support, press Control-Alt-Delete, then click on the Performance tab, where you’ll see two boxes, one for each CPU:
If you feel you need it, there’s more detail on this step of the process in
this post on VMWare’s forums.
Despite the length of this guide, the process of converting your Parallels VM to a Fusion VM really isn’t all that difficult. There are just a lot of steps, and it will take some time. Between this how-to, VMWare’s excellent PDF, and the available video training, there’s lots of help available to get you through the process. The good news is that it worked—at least in my case—and the resulting converted VM seems to be just as stable as one I created with a fresh Windows XP installation.
I’ll have more on Fusion in my full review of that application.