Converting a Parallels Desktop Image to run on VirtualBox

imageIf 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

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:

  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.

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’

 

9 thoughts on “Converting a Parallels Desktop Image to run on VirtualBox

  1. Worked almost perfectly. Thanks for the instructions.
    Did not find an option for “Prepare for use in Virtual PC” in disk2vhd. Also, disk2vhd failed 3-4 times, but seemed to work after that.

  2. Thanks for these instructions. I have converted my parallels image. I did a safeboot into Windows first. It took a long, long time for the first boot. Luckily I had the image on an external drive so it was easy for me to see ongoing disk activity, otherwise I may have lost faith … it got there eventually, and now with VB additions installed, the virtual machine seems to be functioning correctly.

  3. I´ve done through “Creating a VDI Image” steps successfully with an Windows Vista Business (32Bit). My Parallels v8.0.18619. My Mac is a 10.9.5 and my Virtual Box was 4.3.20. Besides a few failed attempts in creating the VHD image, apparently because my network mapping between the Mac and Parallels got unavailable due some unknown reason, i´ve managed creating it successfully by not doing anything else in the Mac during the full length of the conversion.
    Thank you for documenting these steps. It´s saved me a lot of time. Now I can migrate to Yosemite without worrying about loosing or upgrade my virtual Windows machine.

  4. Done successfully with a Windows XP virtual machine. Unfortunately a second one with Windows 8.1 fails on Virtual Box with “A disk read error occurred” message.

  5. One slight correction for my setup yosemite 10.10.5

    VBoxManage is located on the following paths:
    /Applications/VirtualBox.app/Contents/MacOS/VBoxManage
    /usr/local/bin/VBoxManage

  6. Hi – great instructions thus far but I am running into an issue. My windows XP vm is not recognizing the ip address (smb: 192.168.0.103 / afp: 192.168.0.103) that I set up in the mac shared folder that contains the MacOSX (its on my desktop).

    In the map network drive, I see the default dive is Z:\. Next, I proceed to type in “\\192.168.0.103\Desktop” in an attempt to connect to the MacOSX. A dialog box is returned saying that the “network path \\192.168.0.103 cannot be found”. Help?

  7. Hi,
    I’ve got a so somewhat larger problem… my mac is toast and I only have the pvm and I don’t have access to a working mac to run parallels at all. Is there a way to get access to the data on the vm? I need some data that was stored on the HD of the virtual machine.

    Cheers and thanks

Leave a Reply

Your email address will not be published. Required fields are marked *