Desktop Virtual Machine Software Comparison

October 31, 2009

A few years ago I was using Microsoft Virtual PC at home, and I quickly transitioned to VMware Server and VMware Player due to my desire to use USB devices inside the VM.

Not fully satisfied, I tried other virtual machine software and subjectively determined that Sun VirtualBox ran my virtual machines faster and provided the USB support that I required. I have been a happy user of VirtualBox since then, and I have had no need to look elsewhere… until VirutalBox 3.0 started to support multiple CPUs.

The promise of multiple CPUs being used within a VM is a tempting feature that once embedded in one’s consciousness, becomes a mandatory requirement. For this reason, Microsoft Virtual PC (even the Windows 7 version) is unacceptable.

I have been experiencing stability issues in VirtualBox for many months now. In fact, I cannot use the multiple CPU feature in VirtualBox because after approximately 5 or 10 minutes of usage the graphics display corrupts and the virtual machine hangs. In addition, support for Direct X and graphics acceleration is experimental, and Windows Aero does not work within the VM. Multiple monitors are only partially supported through the ‘headless’ mode and using Remote Desktop with the /span option.

However on the positive side, VirtualBox supports Virtual PC, VMware and open hard disk formats, in addition to a seamless window mode, USB, and snapshots.

My recent investigations into virtual machine software have surprised me – and I must applaud VMware.

Both VMware Player 3 and Workstation 7 support multiple CPUs, multiple monitors, Windows Aero, DirectX and graphics acceleration, USB, Unity / seamless / integrated mode, and the ability to create virtual machines (previously Player did not have this ability).

VMware Workstation in addition provides snapshots and record/replay functionality – among other things.

Virtual PC does not support multiple CPUs, nor multiple monitors, nor graphics acceleration, nor Windows Aero, but it does now support USB (due to the concept of Windows 7 XP mode) and desktop integration.

So in conclusion, I have discarded VirtualBox and now prefer VMware Player.

Perhaps VirtualBox 4.0 will be stable with multiple CPUs, work fully with multiple monitors, support Windows Aero, and have non-experimental support for DirectX and graphics acceleration? (It would just be nice to have the option to use snapshots – which VMware Player doesn’t and probably will never have)…

Advertisements

Converting Between Virtual Disk Formats

October 29, 2009

In addition to its own native VDI virtual disk file format, Sun’s VirtualBox supports both Virtual PC’s VHD virtual disk file format and WMWare’s VMDK virtual disk file formats, AND has the ability to convert your virtual disks between these formats.

What they don’t tell you however, is that the virtual disk must be fully removed from the VirtualBox Virtual Media Manager before the command will run successfully (if you have been using the virtual disk previously in a virtual machine in VirtualBox).

For example, the command to convert a VMDK to a VHD is:

"c:\program files\sun\VirtualBox\VBoxManage.exe" clonehd "my.vhd" "my.vmdk" –format vmdk

Below is the documentation from section 8.16 VBoxManage clonehd:

VBoxManage clonehd         <uuid>|<filename> <outputfile>
                           [--format VDI|VMDK|VHD|RAW|<other>]
                           [--variant Standard,Fixed,Split2G,Stream,ESX]
                           [--type normal|writethrough|immutable]
                           [--remember]

where the parameters mean:

format

Allow to choose a file format for the output file different from the file format of the input file.

variant

Allow to choose a file format variant for the output file. It is a comma-separated list of variant flags. Not all combinations are supported, and specifying inconsistent flags will result in an error message.

type

Only honored if –remember is also specified. Defines what kind of hard disk type this image should be.

remember

Keep the destination image registered after it was successfully written.