29-04-2021



  1. Parallels was originally designed to run Windows guests within MacOS hosts. That expanded to include all host operating systems and should now run on any Intel-based computer. I didn’t find this as intuitive to use as VirtualBox or VMWare but it makes short work of installing guest OS. It is easy to set up too which is always good.
  2. Below are the steps to migrate a Parallels VM to VirtualBox. This example is done on a MacBook Pro running OS X Sierra (see screenshot below) using the followjng versions of Parallels and VirtualBox: 1. Locate the VM file that you wish to import. It is located in your Parallels folder (where all the VM´s are located – my VM was in the.

If you’ve seen my other post on running VirtualBox, you know that I’ve been running Parallels desktop for some time. I converted off BootCamp to VirtualBox a few months ago so I could update my older iMac to Mac OS X 10.9 (Mavericks). Over this past weekend, I decided to try and convert my main Windows/XP image (under Parallels Desktop) on my newer iMac to VirtualBox to prepare for Mavericks on that machine. There were a number of things I learned that I wanted to share.

For me, this was a must work scenario because of the almost daily updates being made to the Windows XP image by my kids as they navigate classes on SOS (Switched On Schoolhouse). Because of this, I did some pre-conversion research, documented those steps and then performed the full conversion on a Friday evening of a 3 day weekend. That way I had plenty of time test and back out (if necessary) before classes resumed on Tuesday.

Creating a VDI Image

I converted off BootCamp to VirtualBox a few months ago so I could update my older iMac to Mac OS X 10.9 (Mavericks). Over this past weekend, I decided to try and convert my main Windows/XP image (under Parallels Desktop) on my newer iMac to VirtualBox to prepare for Mavericks on that machine. I saw the Mac / Linux users wanted thread by Erel and wondered what Parallels was. A slight bit of research later and it seems to be fairly close to VirtualBox. (At least if we ignore enterprisey features, which I suspect aren't overly interesting to the majority of the users of this forum.).

Based on the research, I opted for creating a VDI (Virtual Disk Image) file format instead of VHD (Virtual Hard Disk). Both can be read by VirtualBox, but the VDI (Virtual Disk Image) format allows for more flexibility (disk expansion) than VHD. I also found out that I would need to first create the VHD image using a MS utility (Disk2vhd) then use VBoxManage utility to convert it to VDI. It took 2-3 hours to run these 2 utilities since the boot image was almost 32GB. Here are the steps I took to accomplish this:

  1. Locate the Parallels images folder (/Users/<your username>/Library/Parallels)
  2. Copy the Windows XP image (will take a few minutes) and rename
  3. Launch the copied image in Parallels by doing the following:
    1. Start Parallels
    2. File –> Open and select copied/renamed image
    3. Click ‘Create New’
  4. Start XP. If it was asleep, perform a restart
  5. If you’re prompted to Activate Windows, click NO (we’ll do that later)
  6. Download the Disk2VHD utility (can be found here) and expand
  7. Remove the Parallels Tools via the Control Panel –> Add/Remove Programs. (Requires a reboot)
  8. On the Mac, enable file sharing (Settings –> Sharing –> Check ‘File Sharing’ and make sure to note the Shared Folder and User that has Read/Write access.
  9. Back on Windows XP, Start –> Explorer and map the Z drive to the MacOS drive (e.g. <ip address>Desktop)
  10. Run Disk2vhd.
    1. Check ‘Prepare for use in Virtual PC’
    2. Uncheck ‘vhdx’.
    3. Uncheck ‘Use Volume Shadow Copy’
    4. Specify filename using mapped drive (e.g. z:windowsxp.vhd).
    5. Press Create (this will take several minutes to complete)
  11. Back on Mac, bring up a Terminal window
  12. Run the following command to convert the VHD file to VDI: /usr/bin/VBoxManage clonehd Desktop<file>.vhd <file>.vdi –format vdi
  13. Shutdown Windows and Parallels
  14. Store the .VDI file under /Users/<your username>/VirtualBox VMs/Windows XP folder
  15. Bring up Virtual Box and make the following setting changes:
    1. System/Motherboad – Base memory to 2048M
    2. System/Processor – Configure 1 CPU
    3. Display/Video – Video Memory to 64MB, Check ‘Enable 2D Video Acceleration’
    4. Storage/Storage Tree/Controller: IDE/Attributes – Type to PIIX4 (needed to avoid BSOD (Blue Screen Of Death) at boot up)
    5. Make sure your .vdi file is listed in the Storage Tree
    6. Network/Adapter 1/Attached to: – Bridged Adapter
  16. Boot up Windows/XP guest image

Network Printer Setup

In order to print from your Windows XP VirtualBox Guest using a USB printer attached to your Mac OS X host, you’ll need to do the following:

Convert parallels to virtualbox osx
  1. On the Mac, bring up System Preferences
  2. Double-click ‘Print & Scan’
  3. Make sure your USB printer is selected in the ‘Printers’ window
  4. Check ‘Share this printer on the network’
  5. Click on ‘Sharing Preferences…’
  6. Make sure the ‘Printer Sharing’ item is checked.
  7. Make sure your printer is listed under ‘Printers:’ and the ‘Everyone Can Print’ is listed under ‘Users:’.
  8. From the Windows XP guest, start the Control Panel
  9. Double-click on the ‘Add Printer’ icon
  10. Click Next
  11. Select the radio button next to ‘A network printer, or a printer attached to another computer’ and click Next
  12. Click Next. A list of printers should appear. Look for the computer the USB printer is attached to. You may have to type in the name of the printer in the the box labelled ‘Printer:’ as well before pressing Next.

Convert Parallels To Virtualbox

Setting Up Variable Screen Size

In order to be able to adjust the Windows XP size, you’ll need to mount and install the ‘Guest Additions CD Image’. Safe Mode is required for the install so if your Mac keyboard doesn’t have an F8 key, you’ll need to find a USB keyboard that does. Here’s the steps to do the install:

  1. Shutdown the Windows XP guest.
  2. Attached a USB keyboard to your Mac Desktop that has an F8 key
  3. Start the Windows XP guest and press the F8 key to bring up the Safe Mode window
  4. Select ‘Safe Mode with Networking’ and wait for the system to load
  5. Login with an administrator account
  6. Under the Devices pulldown menu, select ‘Insert Guest Additions CD image …..’
  7. You’ll be prompted to install the software
  8. Once it’s complete click the ‘Reboot Now’

September 2, 2016

The 31st of August I removed Parallels Tools from a virtual machinerunning Ubuntu 15.10 because the grace period of 7 days, so'generously' given by Parallels after I didn't renew my subscription,had ended. Somehow this company considers it a smart move to maketheirsoftware useless if one no longer pays. Iunderstand removing some functionality, like for example no longerable to create new virtual machines, but this? No, too close toransomware for my taste. Especially since Parallels Desktop needs tobe updated often, either to deal with changes in the host operatingsystem, OS X, or changes in the guest operating systems.

Anyway, to be honest, it was always my plan to eventually move mywork, as a freelance Perl programmer to OS X. One of the reasons Ibought a Mac mini. However, I was expecting the move to be a bit moreon my terms, less forced. To make the transition more gradual, Idecided to move the Ubuntu 15.10 virtual machine to VirtualBox.

Uninstalling Parallels Tools

To run things smoother Parallels Desktop can make modifications to aguest operating system installed in a virtual machine. Because I wasafraid these modifications are going to conflict with VirtualBox afterthe migration, I uninstalled Parallels Tools.

Wednesday, I tried the first solution given atHow to uninstall Parallels Tools in Ubuntu Linux,which didn't work for me. Luckily there was alternative given, aneasier one in my opinion, running just one command:

And this did the trick.

Since it was already late I decided to do the rest of the requiredmove the coming days.

Uninstalling an old version of VirtualBox

While writing this all down I noticed that I had already an olderversion of VirtualBox installed on my Mac mini, version 5.0.16 r105871to be exact. Instead of just updating it I decided to uninstallit. But first I removed a bunch of virtual machines which I no longerneeded; I was no longer working on the project requiring those. Thisfreed up quite some harddisk space on my Mac.

In the end I kept three VMs; sparkvm which I used during twoedX courses, Windows XP with SP3, andUbuntu 15.10. The later was my go to VM when Parallels Desktop had amajor issue with a Compiz update. I actually wanted to decommisionthat one by comparing files to a recent backup, but it won't let memount an external USB drive. I got an error dialog with the followingmessage.

Failed to attach the USB deviceWestern Digital My Passport 0820[1007] to the virtual machine Ecce15.10

When I clicked details I read:

Failed to create a proxy device for the USBdevice. (Error: VERR_PDM_NO_USB_PORTS).

Followed by some more technical details regarding the issue. Hopefullythis is fixed in the version I am about to install as I really need tobe able to access external USB devices, especially hard disks.

Edit: enabling 'USB 3.0 (xHCI) Controller' in the settings most likelyfixes this issue, see below, near the end of this blog post.

I exported each virtual machine to a file using the 'ExportAppliance...' option in the File menu of VirtualBox. Next, I deletedeach virtual machine. Since I use Time Machine I am not too worried ifthe export of the virtual machines fails at one point; rolling back is easy.

Virtualbox

Next, I uninstalled VirtualBox not by just deleting the program fromthe Applications folder but by actually running the uninstaller whichcame with it in the file I had downloaded months ago;VirtualBox-5.0.16-105871-OSX.dmg. The reason for this is thatVirtualBox installs several kernel extensions (kexts), which are notdeleted by just removing the app from the Applicationsdirectory. Those kexts can be listed as follows:

The Perl one liner is used to print just the name and version numberof only the org.virtualbox kexts.

So after I had removed (deleted) the three remaining virtual machinesand quit VirtualBox I ran the DMG and selectedVirtualBox_Uninstall.tool. After confirming that I was sure to openthe script a terminal window was opened in which I had to confirm theuninstall by typing 'yes'. Next the process prompted me for a passwordto grant it administrative privileges.

After the script reported [Process completed] I closed thewindow. When I ran the above kextstat pipe again, no lines showedup; the kernel extensions had been unloaded.

Downloading and Installing VirtualBox 5.1

I downloaded VirtualBox 5.1.4 for OS X via the officialVirtualBox download page.When I opened the downloaded DMG a dialog showed up. I followed theinstallation instructions given and double clicked theVirtualBox.pkg icon. The installer wanted to run a program todetermine if the software can be installed, so I clicked Continue, andagain in the installer dialog window itself, followed by a click onInstall. After I entered my password VirtualBox was installed.

Migrating the Parallels Virtual Machine

Virtualbox Vs Parallels

I migrated my Ubuntu 15.10 Parallels Desktop virtual machine usinginstructions by Jummywhich I have written out less concise below.

  • Use Finder to open the Parallels directory located in Documents

  • Select the virtual machine

  • Open the context menu and select 'Show Package Contents'

  • Select the file with the extension hdd; in my case Ubuntu Linux-0.hdd.

  • Open the context menu and select 'Show Package Contents'

  • Locate the file with extension hds and copy it to a differentlocation. This is the largest file, in my case over 180GB.

    Note that if your virtual machine is large, like in my case, it cantake quite some time to make a copy of it.

  • Open VirtualBox and click the 'New' icon to create a new VirtualMachine. In my case I used:

    • Name: Ubuntu 15.10
    • Type: Linux
    • Version: Ubuntu (64-bit)
  • Select the amount of memory; I used 4096 MB (4G).

  • Move the file with the hds extension you copied earlier into thesubdirectory of VirtualBox VMs with the same name as given to thevirtual machine you're creating. The VirtualBox VMs directory islocated in your home directory. Change the extension of the file tohdd.

    I used:

  • Important: in the Hard Disk step select 'Use an existing virtualhard disk file' and select the file you just moved. In my caseUbuntu 15.10.hdd.
  • Click create.
  • Start the virtual machine.

In my case this worked!

I logged in, no problem. Next I shut down the virtual machine becauseI wanted to install the VirtualBox extension pack first to test USBsupport, followed by installing the Guest Additions in my migratedvirtual machine.

Installing the VirtualBox Extension Pack

Virtualbox

I downloaded VirtualBox 5.1.4 extension pack via the officialVirtualBox download page.After the download finished I just opened the extensionpack. VirtualBox asked for confirmation and I clicked Install. Next,I had to agree with the 'VirtualBox Personal Use and EvaluationLicence (PUEL)', which I did by clicking on the 'I Agree' button. Ientered my password and nearly immediately the message that theextension pack was installed successfully showed up.

Installing Guest Additions

I started the migrated virtual machine and logged in. From the'Devices' menu I selected the bottom entry 'Insert Guest Additions CDImage...'. Ubuntu asked if I wanted to run the software; I confirmed.After I had entered my password the installation process started.

When the installation was done I pressed Return to close the window,as suggested by the installer and rebooted the virtual machine. Afterlogging in I was not able to change the desktop resolution to anythinghigher than 1024 x 768. Worse, I still could not access a USB drive.

Parallels Vm To Virtualbox

To fix the latter I Googled for VERR_PDM_NO_USB_PORTS, a code givenin the details of the error message, and found the solution. I had tostop the virtual machine, open the settings and in the USB tab of'Ports' enable 'USB 3.0 (xHCI) Controller'. After I had done this Istarted the virtual machine once more. And this time I could use theexternal hard disk.

Virtualbox Vs Parallels Performance

The resolution, however, is still stuck at a maximum of 1024x 768. It's not that important as I want to migrate the coming weeksto OS X, and this minor nuisance might make this happen sooner thanlater.