Moving a Parallels VM to VirtualBox
I'm documenting a process I undertook at home to attempt to move a Windows XP virtual machine from running under Parallels (v2) on OSX to runnning under VirtualBox on Linux (Ubuntu 9.04).
I started out by following these excellent instructions, which tool me through these steps:
- Clean up the VM as much as possible (removing cruft, old apps, temp files, etc.)
- Create a new virtual HD and attach it to the VM (this was just in case the network connection was lost in the next step, to give the VM somewhere to save to outside of its regular HD, which would be imaged; in the event, this turned out not to be necessary, because network connectivity was not lost).
- Downloaded and installed VMWare Converter.
- Downloaded and ran MergeIDE.
- Uninstalled Parallel Tools and rebooted.
- Turned off as many services as I could (including the Java update service and the QuickBooks update service).
- Backed everything up.
- Ran the VMWare Converter to create an image of the C drive, saved onto the second virtual HD.
This seemed to go fine, giving me a .vmdk and a .vmx file, the former being the HD image, at about 20 GB in size. I moved these onto my network server, then reinstalled Parallel Tools on the VM and confirmed that it was still working OK.
Then:
- Copied the two files down to my Linux box.
- Added the new HD to the Virtual Media Manager in VirtualBox.
- Created a new VM using this HD.
- Booted it.
- Got an instant blue-screen, which then disappeared too quickly for me to read it.
I then spent a lot of time trying various options in the VM setup in VirtualBox -- there are lots of variables which might prevent a VM from booting if you get them wrong -- but the bottom line was that the machine wouldn't boot. So:
- Attached an ISO of a Windows CD disk to the machine, and booted from that.
- I was able to log on to the HD Windows setup, and took the step of renaming prlfs.sys, mentioned in the blog posting linked above. That didn't help.
- Ran chkdsk /r on the virtual HD; this found and fixed a couple of errors, but that didn't help either.
- Finally decided to do a "repair install" of Windows. This worked; the VM came up, with all the programs and settings intact, but obviously requiring many updates.
- Did the first batch of updates (59 in all).
- On reboot, there was some glitchy behaviour; at regular intervals svchost.exe would crash.
- Installed the VirtualBox guest additions, and added a second, faster NIC. The svchost.exe crashes seemed to disappear after this.
- Tried to do more Windows updates, but was blocked by the requirement to Activate Windows. I don't want to do this right now, because that will mean I can no longer use the other VM (still in Parallels), and I don't yet know for sure that the new VM is solid enough to be relied upon. I'm running Half-Baked off the VM, and Stewart's away right now so there's no fallback if I screw it up, so I'll probably wait until he's back, and takes the company over in June, before I go the whole way and activate the new VM, abandoning the old.