How to migrate a Parallels virtual machine to VirtualBox

A screenshot of the web site for VirtualBox

Despite Parallels and VirtualBox both being programs which run virtual machines on Mac OS X, they both use different file formats for storing the virtual machines on disk. Though I believe Parallels will open a VirtualBox disk, VirtualBox cannot automatically import Parallels disks. But it’s not impossible…

If the guest operating system, i.e. the system that is running inside Parallels, is Windows 2000/XP/Vista, then it is possible to use a free tool from VMWare to do the conversion. Here’s a step-by-step:

1. Back up your virtual machine

Seriously. We’ll need to modify it a bit before it’s converted, so you’ll want a backup copy just in case things go wrong, or if you may use Parallels again in future.

2. Uninstall Parallels Tools

This is the modifying bit. Load your Windows virtual machine in Parallels, and uninstall Parallels Tools (the helper program that adds drivers and clipboard sharing, and other stuff). This is important as otherwise your virtual machine won’t boot in VirtualBox – and I know this from experience. You also can’t uninstall Parallels Tools unless you are running Parallels at the time.

3. Close all programs

Close as many running programs in your virtual machine as possible. We’re about to take a snapshot image of it while it is running, so any unsaved data may be lost when you boot the image in VirtualBox. That includes programs with icons in your notification area, such as virus scanners, instant messaging programs etc.

4. Install VMWare Converter

Once Parallels Tools has been uninstalled (you may need to reboot the virtual machine for this), we can begin the conversion process using a tool ironically made by VMWare. Go to the download page for the VMWare Converter in whatever web browser you use in your virtual machine (it’s a Windows program) Download it, and then install it.

Run the Converter tool, and click ‘Convert Machine’ – this should pop up a wizard which walks you through the process of setting up a new virtual machine image. You want to tell it to use a ‘Physical Computer’, and then on the next screen choose ‘This Local Machine’. Select the hard disk of the virtual machine and leave ‘Ignore page file and hibernation file’ ticked as this will just bloat the new virtual disk with unnecessary rubbish.

For the type of virtual machine, select ‘Other virtual machine’, and on the next screen, give it a name (e.g. ‘Windows Vista’). Next, you will also need to save it somewhere, and this should not be the existing hard disk of the virtual machine. You can either use your Mac’s main hard disk, mapped to drive ‘Z:’ under Parallels, a network drive or an external drive if you have it forwarded through to the virtual machine. You should be able to use the top option for the type (i.e. ‘Workstation 6.x’) but if it doesn’t work try another option. Keep ‘Allow disk to expand’ checked on the next screen. Click through until you’re ready to complete, and start the conversion.

5. Go and grab a cup of coffee

Or go out shopping. Or read a few chapters of War and Peace. Either way, the machine will take a significant amount of time to convert – mine took around 45 minutes and was only around 15 GB. Bigger disks may well take longer. It helps if you don’t have lots of other programs running on your Mac at the same time as then more of your CPU juice can be used for the conversion.

6. Shut down the machine in Parallels

Now that you’ve exported the machine, shut down Windows and close Parallels. This is mostly so that you can stay within the terms of the license agreement for Windows which won’t allow multiple instances.

7. Import the disk into VirtualBox

Open VirtualBox, choose ‘File’ and then ‘Virtual Disk Manager’. Add the disk file that you created, and click OK. Then click ‘New’ to create a new virtual machine, and select the correct operating system from the list. Try to ensure that you give the virtual machine the same settings (such as RAM size) as you did in Parallels. When asked for a hard disk, click the ‘Existing’ button and choose the disk file that you created from the list. Then click Finish.

8. Boot up in VirtualBox

Hopefully all will have gone to plan, and you will be able to boot into Windows as before. All of your files and programs should be there waiting for you.

If, however, you encounter a blue screen mentioning ‘prlfs.sys’ like I did, boot the machine but press F8 during the boot to enter Safe Mode with Command Prompt. Type in cd c:\windows\system32\drivers and then rename prlfs.sys prlfs.sys.old and then reboot – that should get you up and running.

For the inquisitive, prlfs.sys is part of Parallels Tools and this should have been removed as part of step 2, however muggins here forgot to this when he tried it himself and therefore encountered this error.

9. Install VirtualBox Guest Additions

Guest Additions are to VirtualBox what Parallels Tools are to Parallels – in other words, they make Windows sit better in the virtual machine and improve integration with the host operating system. On the main VirtualBox menu, select Devices and then ‘Install Guest Additions’ and follow the on-screen instructions. Though this is optional, it will improve the experience of using Windows in VirtualBox.

Hopefully now you’ll be up and running in VirtualBox. Feel free to post comments below and I’ll try to do what I can to answer them but I’m not the world’s greatest expert in this. I also don’t know how to do this in other versions of Windows or other operating systems.

Trying out VirtualBox 2

VirtualBox 2 is out. VirtualBox is Sun Microsystems’ entry into the Virtual Machine market, and competes against Parallels and VMWare. Unlike the others, it is free and comes in an open source flavour.

Since I have been using Parallels for some time, and VirtualBox is free, I thought I’d give it a spin on my MacBook, using Mac OS X as the host operating system. Parallels is excellent for running Windows Vista (and presumably XP), but its Linux support has been a little lacklustre and the past 2 releases have not supported Ubuntu 8.04 despite being released after Ubuntu has been released.

For version 2, quite a bit of work has gone on to make VirtualBox fit into OS X better, and it shows – though it still feels like a port, it looks very much look a native Mac application and it’s very easy to get going. Since I only have 1 Windows Vista license and I’m already running it in Parallels, I decided to try it with Ubuntu 8.04.

And it seems to work well. Plus, VirtualBox’s ‘Guest Additions’, software for the guest OS which enhances support, work for Ubuntu 8.04 – unlike Parallels Tools which only work for older Ubuntu releases. They also go further; not only do you get dynamic screen sizing (the display area adjusts depending on the virtual machine’s window size), seamless mouse pointer integration and time synchronisation – there’s also clipboard synchronisation and an attempt at desktop integration, which resembles Coherence mode in Parallels, but it works under Linux as well as Windows. However, it’s a bit buggy and I had some rendering issues while trying to use it.

Other down points? There’s no importing from other disk formats – so if you already have virtual machine set up in Parallels you can’t use it straight-away in VirtualBox (although if you can find a tool that converts the disk to the VMDK format you may have some luck). And PowerPC Mac owners are out of luck as VirtualBox is Intel-only, although running an Intel VM on a PowerPC machine would be very slow anyway.

That all being said, VirtualBox is a strong contender, and you can’t argue with free. For many, this will do everything that they demand from its commercial rivals, without costing a penny.

Been away, going away…

I’ve been away from this blog for some time – 2 weeks almost – which is mostly due to being busy at work and having very little free time at home. I’ve been playing World of Warcraft a bit more than usual lately, but now have a second level 70 character as a result.

So what’s happened over the past 2 weeks? Well, based on my recent Twitters, here’s what I’ve been up to:

  • Been testing out Firefox 3 RC1 and Thunderbird 3 Alpha 1. Firefox 3 is looking really good now, especially on Macs where the improved performance and native theme make it even more of a joy to use. Thunderbird is obviously an early alpha build but it too is much faster, as it inherits many of the optimisations that were undertaken for Firefox. Unfortunately, it’s not yet very stable, but it is at least usable.
  • Now that I have more than a smidgen of free space on my MacBook, I installed Ubuntu Hardy Heron in Parallels. Unfortunately, despite updating to the latest Parallels release, the Parallels Tools for Linux package doesn’t work with this release of Ubuntu so there’s no adaptive window sizes, cursor integration and clock synchronising. It’s a shame as apparently VMWare Fusion does support the latest Ubuntu release. I haven’t played around with Ubuntu much but it looks good, and including Firefox 3 is a bold but welcome move.
  • Speaking of Twitter, I would recommend the TwitterFox extension if you use Twitter and Firefox, as it’s quite a handy little extension which lets you read and interact with your Twitter friends. It doesn’t have masses of features, but it’s intuitive and it works with Firefox 3 already.
  • Google Reader’s ‘Trends’ feature has an unexpected use as a way of digging out feeds which haven’t updated in a long time. I found one that had gone dead in October 2005 that I was still subscribing to. I also found a few sites which had changed their feed URLs without redirects so I wasn’t receiving updates any more.

This, unfortunately, isn’t the return to regularly scheduled blogging, as on Saturday I’m going away for five nights in camping barn in the Lake District with some friends. It’s really in the back-end of nowhere – it doesn’t even have a connection to the electricity grid so all power comes from a hydro-electric generator, and it’s highly unlikely that there will be any mobile phone reception there either. So until I return on Thursday, you may not hear a peep from me, either on here or on Twitter.