From Parallels Desktop to VirtualBox

January 7, 2008 by Michael

For backup and testing purpose i keep a virtualized version of my webserver running under Parallels Desktop for Mac on my mac.

Recently Dell had some very convenient offers on their PowerEdge machines and i could barely resist to buy one, but finally, i managed to: cut the crap, i don’t want to have even more boxes standing around at home.

But i was thinking again: Whats better than one backup? Redundant backups 🙂

So i downloaded a copy of Parallels Workstation to install it on my PC at work. Equipt with a DVD and my image file from Parallels Desktop, i fired up the PC Version and after fiddling around with some pathes i can confirm that the Parallels Desktop 3.x vms are compatible with Parallels Workstation 2.x vms, at least a vm with a Debian OS inside.

But to me, performance was poor. My mac is a 2Ghz Core2Duo Mac Book with 3GB Ram, my Pc is a 2.66 Core2Duo Dell with 2GB Ram and Parallels Workstation was way slower on the PC than unter OS X. In addition: I didn’t want to spend another 50$ for Parallels (i already bought versions 2 and 3 for Mac, should be enough), so i thought about alternatives on my PC running Windows XP as host.

I already knew about QEMU which in contrast to Parallels and VMWare is a processor emulator and not a virtualization tool and therefore must be slower. I recommend the QEMU Manager for Windows Users, as this thingy already contains the kqemu virtualization extension.

Installation is dead simple and to my surprise, it was enough to convert my Parallels extending image with the Parallels Image Tool to a plain disk which i could use without further changes with QEMU.

Debian is very stable against the few “hardware” changes. The only problem i had that Debian wouldn’t find my eth0 device although the Realtek 8139too module was loaded. Solutions: The ethxxx devices are bound to the hardware (mac) address. I could look up the mac address in the Parallels configuration file, add this number in the QEMU config and voila, everything was up and running.

Somewhat complicated is bridged networking with QEMU. First you need the TAP-Win32 driver which is brought to you by the great OpenVPN project. The most simple way to install is through OpenVPN Gui for Windows.

After install add a new TAP device through the startmenu entry and then, the clou: There are some howtos which recommend enable bridged networking through the Internet Connection Sharing facilities of windows but it’s much simpler than that: Under network connections, select your default LAN Connection, the tap device, right click and choose bridge networks.

After that, change the network mode in your QEMU vm from user networking to tap networking and you’re ready to go.

Performance was quite good (at least at Parallels speed) but i guessed, there was room for more so i look for VMWare. Unfortunately, the QEMU image tool qemu-img.exe repeatedly crashed while converting my Parallels Image to the vmdk format so this was a dead end for me.

Although the Parallels image worked fine with QEMU and later on also in our Oracle VM Server as a hw virtualized XEN machine, i was not content and i looked out for VirtualBox which is available under a GPL license without USB support which i don’t need, but is able to use Intel VT-x and AMD-V technology.

I needed to convert the Parallels image from a raw disk format to innoteks vdi format, following the steps explained here.

All the tools mentioned there are also available under a Windows installation of QEMU and Virtualbox. Commands as follow:

qemu-img.exe convert foobar.hdd foobar.bin
VBoxManage.exe convertdd foobar.bin foobar.vdi

For bridged networking unter VirtualBox the same applies as to QEMU without the need for OpenVPN, you can add a TAP device right from within VirtualBox . If you already have the bridged described above, you can add the VirtualBox interface with a right click to that bridge. Also, to have Debian not change the eth number, add the same mac address in the network tap of VirtualBox.

All this said and done, booting the system was blazing fast and also the backup of my Daily Fratze project which is pulled via rsync from my server, runs extremly smooth and i have absolutely no hassle setting up Ruby on Rails, RMagick and MySQL under the Windows “Operating System” but can use Debian or any other distro with a sane environment.

After fiddling around with both VMWare and VirtualBox, i’d prefer VirtualBox over VMWare Server (which is also available for free {i.e. for giving VMWare your personal data}). VirtualBox has less overhead then VMWare Server, is simple to configure and as i said, amazingly fast.

When the OS X version leaves beta, i’ll switch from Parallels on my Mac to VirtualBox, at least for my server live backup, so i can make it redundant with the one some kilometres away (call me paranoid if you like) at my workplaces PC.

16 comments

  1. null wrote:

    This doesn’t work for me with the latest version of Parallels, QEMU and Virutalbox. The conversion doesn’t say anything about error. I just doesn’t boot up. Would you care saying what is the first statement doing? From the manual, qemu-img doesn’t mention any support for Parallels format. It does support raw format as default. So, with the 1st command, would it just convert it to raw? If so, then what is the format of Parallels’ format? I try to run qemu on the generated image (.bin file) and it complains it’s not bootable. I then run Virtualbox on the generated image (.vdi file), and similar error.
    In VMware converter, it can connect to a running machine (such as Parallels instance), then convert the disk from that running machine to VMWare. I don’t have VmWare license, so I can’t do that. However, it seems to be a simple way of convert things (almost can convert from any images, as long as it has Windows installed). I am not sure about support for other OS.

    Posted on June 14, 2008 at 5:43 PM | Permalink
  2. Michael wrote:

    Sorry for my late repley, i was on vacancy.

    The first tool should convert from qemu propritery to a “raw” format.
    I have googled this commands, have a look at the linked site.

    You can register VMWare for free for personal use, i think.

    Good luck!

    Posted on June 20, 2008 at 7:07 PM | Permalink
  3. kl wrote:

    I am disappointed that I spent money on Parallels.

    I have since moved on to VirtualBox (v1.6.2) and absolutely love it! I get much better performance and overall system response on VirtualBox than I ever received in Parallels.

    I am deleting Parallels from my Applications folder and I’m not looking back.

    Posted on June 26, 2008 at 12:57 AM | Permalink
  4. Michael wrote:

    I have to test it on the mac… The transition i described here was to transfer a virtual machine from my mac to a pc. But i read many good reviews about the mac version, too.

    Posted on June 26, 2008 at 7:14 AM | Permalink
  5. Joshua wrote:

    So, do I need to convert my Parallels vm to QEMU first, and then convert from QEMU to something VirtualBox can use?

    Or, do I need to install QEMU so that it can convert the Parallels image to a raw image and then use VirtualBox manager to convert a second time?

    Or, am I supposed to do some sort of conversion from within Parallels first and then QEMU conversion and finally VBM conversion to a .vdi ?

    Posted on July 31, 2008 at 1:04 PM | Permalink
  6. Michael wrote:

    Joshua:
    I did the conversion on a windows pc.

    Steps as follows:
    0. Installed QEMU und Virtualbox on the windows pc.

    1 . Copied the parallels hdd image to the windows pc (windows will see the package as a folder, don’t wonder. There’s a big file with a strange name inside, this is the actual hdd image)

    2. Did the conversion with the following commands:

    qemu-img.exe convert foobar.hdd foobar.bin
    VBoxManage.exe convertdd foobar.bin foobar.vdi
    

    You’re like must change the paths to the commands in the terminal

    3. Imported the vdi file in virtualbox.

    I assume that these steps are similiar on the mac, but i haven’t tested this yet as the VDI image i created with these steps runs fine in VirtualBox Mac and Windows.

    Posted on July 31, 2008 at 1:48 PM | Permalink
  7. Joshua wrote:

    Thanks Michael,

    Unfortunately the site for Q (mac version of QEMU) is down and not responding, I can’t get Q so I can’t do anything for now.

    Posted on July 31, 2008 at 2:42 PM | Permalink
  8. Michael wrote:

    You’re welcome.

    As i said, i used QEMU on a windows pc (my goal was to get my parallels mac hdd to work on a windows pc with virtualbox). QEMU Manager worked well for me, have a look here: http://www.davereyn.co.uk/download.htm

    Posted on July 31, 2008 at 2:51 PM | Permalink
  9. Anthony wrote:

    Question:

    I downloaded Q and ran the commands listed above. However, qemu-img keeps telling me it can’t open the hdd file/folder. So I ran it on the HDS file inside. Is that what I should be running it on?

    So far, doing this entirely on a mac didn’t work. I tried it once using a windows machine and I got an error with the UUID and VB wouldn’t boot the partition.

    I’m going to try again with with another VM I have but wanted to ask which file I should be using: the HDD folder, or the HD file itself?

    Thanks!

    –anthony

    Posted on August 16, 2008 at 11:45 PM | Permalink
  10. Michael wrote:

    You need to run it on the hds file. The hdd is a package with shows as a folder on non mac systems.

    Posted on August 17, 2008 at 11:01 AM | Permalink
  11. Kevin wrote:

    Has anyone gotten this to work on a Mac? I went through all the steps, but whenever I try to boot a Blue Screen of Death ™ flashes and then it gives the option to boot in safe mode…which also flashes the afore mentioned BSoD.

    Any suggestions would be greatly appreciated!

    Posted on December 3, 2008 at 11:05 PM | Permalink
  12. Michael wrote:

    Hey Kevin…
    Sounds to me like that a wrong controller type is configured in the vm. Look out for the ide options.

    Posted on December 4, 2008 at 6:32 AM | Permalink
  13. Joshua wrote:

    I finally got it to work, although I used a slightly different method. I also ran into a BSoD problem. IIRC, the problem was because I hadn’t uninstalled the Parallels toolbox before trying to convert to Virtual Box. I went back to the backed up original, uninstalled the toolbox and everything worked after that.

    Posted on December 5, 2008 at 3:26 PM | Permalink
  14. Michael wrote:

    Joshua: Glad to hear 🙂

    Posted on December 5, 2008 at 3:31 PM | Permalink
  15. Anthony wrote:

    Joshua;

    Can you post the steps to the method you used to transfer this? You mentioned using a different method.

    Thanks!

    –anthony

    Posted on December 6, 2008 at 6:23 AM | Permalink
  16. Joshua wrote:

    Anthony,

    1. I downloaded and installed the trial for VMWare which either comes with a file converter or has a converter that can be downloaded and used separately.

    2. Next step was to make a copy of the Parallels machine with the parallels toolbox removed (I skipped this step the 1st time and ended up BSoDing repeatedly)

    3. Use the converter on the Parallels image sans Parallels toolbox

    4. Install virtual box and instruct it to use the virtual HD created by VMWare’s converter.

    I’m pretty sure that the VHD is actually located within a package similar to an application package. I don’t remember the exact details and I’m sure I’m leaving something out, but I did it back in July and haven’t had to try and recreate my success.

    Best of Luck

    Posted on December 6, 2008 at 9:43 PM | Permalink
One Trackback/Pingback
  1. Virtualtango | untergeek on September 2, 2009 at 10:06 AM

    […] lesen; mit diesem Dreisprung klappt’s. (Wer will, kann übrigens dem Vernehmen nach  auch mit dem Opensource-Emulator qemu herumspielen – das muss man […]

Post a Comment

Your email is never published nor shared. Required fields are marked *