Friday, February 28, 2014

Moving a Windows 7 VM from Parallels 8 to VirtualBox 4.3 on OS X Mavericks using VMWare Fusion

My first Macbook Pro was a 1st Intel generation, early 2006 model, that I bought from someone local on Craigslist in 2009. (Example to the right.) I cut my teeth there and got used to the Mac-isms and the Apple-isms about running OSX. That machine was't going to run any virtual machines well, so I never installed VirtualBox, Parallels or VMWare Fusion.  That machine wouldn't install anything newer than 32-bit Snow Leopard. No Lion and no Mountain Lion. This was frustrating enough, and then software application makers moved to 64-bit entirely, so then I wasn't able to run the software either.
So, in early 2013, I bought a new Macbook Pro and now I had the horsepower to run VMs. Woo hoo!

Parallels pushes their marketing heavy on the Mac world. They have a lot of features, and seemed to have a lot of people who have used the product successfully. So I bought it too.

Fast forward to late 2013, and the release of Mavericks. Before I installed Mavericks, Parallels started warning me about Parallels 8 compatibility with Mavericks. I scoffed. All of the reviews said it ran just fine, and it has, but I have become increasingly resentful of having to shell out $50 for an upgrade, for little benefit. 

So, I decided to try to convert my Win7 VM in Parallels to a Win7 VM in VirtualBox. I ran into a few issues. Here's how I did it successfully (I'll list what didn't work, after):

Step 1) Shutdown the Parallels VM, not just sleep, actually shut the machine down.


Step 2) Convert Parallels machine (.pvm) to VMWare (.vmwarevm) virtual machine

To do this, you'll need to first, download and install the VMWare Fusion trial through the normal means. Here's a YouTube walkthrough:


Next, once you get it installed, choose to "Import" an existing machine. This will make VMWare Fusion go look for existing virtual machines on the system. Of course, in this case, my Windows 7 Parallels instance exists, so it found it right away. (Not sure why it listed it as a "Recent Item", though.)



Click on Continue. You'll be asked what you want to call this new VM. It will use the same base name, but then provide the VMWare extension .vmwarevm for the new virtual machine. You don't really need the whole machine, I don't believe, but the process does create the .vmdk disk image inside the directory named YourNameHere.vmwarevm which we will need in the next step.


Of course, click save.

At this point, I fired up the Windows 7 virtual machine under VMWare Fusion and everything went swimmingly. I just wanted to make sure the new disk image was viable. Because of that, and because I didn't want to create any other issues I didn't install the VMWare extensions. I simply shut the machine back down again and moved on to Step 3.

Step 3) Convert a VMWare disk image (.vmdk) file to a .vdi file which VirtualBox understands

First, install Oracle VirtualBox. You can get it from here: https://www.virtualbox.org/wiki/Downloads

Second, we'll convert the VMWare Fusion disk image in .vmdk format to VirtualBox-import-capable .vdi disk image using a VirtualBox utility called VBoxManage.

You'll need to run this command either from the directory that the .vmdk file is in, or you'll have to put in the full path to the .vmdk file. Mine was ~/Documents/Virtual Machines.localized/Windows 7.vmwarevm

  VBoxManage clonehd --format VDI Windows\ 7-0.vmdk newimage.vdi

I then moved the .vdi image to my VirtualBox VMs directory.

    mv newimage.vdi ~/VirtualBox\ VMs/

Third, start up VirtualBox and set up a new VM and choose an existing disk image.

Here's the "New" screen:


And this is the area where you'll choose "Use an existing virtual hard drive file". You'll have to then find the .vdi file and it will end up populating the area below the radio button.


Click on Create.

That's it. Fire up the new VirtualBox VM and install the extensions.

Once you're satisfied with the fact that it booted and you're running Windows in VirtualBox on Mavericks on your Mac...you'll have to remove your Parallels instance. Windows will start barking that it is counterfeit. You'll have to reactivate your license on this VM.