Review: Virtual Machine Software For The Desktop

We rounded up major virtual machine apps for individual users from VMware, Microsoft, and Sun Microsystems, as well as Fabrice Bellard's QEMU 0.9.1, and found that licensing types, features, and drawbacks vary widely.
QEMU 0.9.1

Price: Free
Vendor: Fabrice Bellard
Link: QEMU

While nowhere nearly as user-friendly as the other programs described here, QEMU is still important and worth mentioning. It's a free and open-source program that performs not only virtualization but cross-platform emulation (i.e., running software intended for different hardware). Ports exist for various platforms -- Windows, Linux, and OpenSolaris among them -- but Windows and Linux are the best-supported. The default interface for the program is the command line, and although you can obtain various graphical front-ends for it such as QGui, you're going to need to accrue at least some knowledge of the way the command line works to get the most from the program.

DamnSmallLinux running in a QEMU instance. The right-hand window is the command line from which this QEMU session was invoked.
(click for image gallery)

As with the other programs discussed here, QEMU works with disk images -- either existing .ISO images or hard disk images provided by the user. The qemu-img utility lets you create blank hard drive images to be populated by the user later (for instance, with an OS install). It's also possible to attach a physical CD/DVD drive in QEMU as a virtual drive, or to mount a physical hard drive partition within the program as well -- although be careful using this, as you could inadvertently trash the partition in question if you're careless.

QEMU's performance can be given a boost thanks to an accelerator driver, which allows QEMU to run in full virtualization mode to execute guest code directly on the host CPU. The driver runs on both 32- and 64-bit hosts; in Windows this driver is installed as a system service so it's relatively easy to add, remove, start and drop. USB support right now only extends to seamless mouse capture, but connecting a host OS to the network is as easy as supplying a command-line option. There's even support for temporary system states or snapshots: you can boot from a disk image, write changes to a scratch file, and then ditch the scratch file when you're done.

One thing that QEMU definitely lends itself to is "portable OS" applications, such as placing an instance of Linux on a USB stick and being able to run that from within Windows (or even another instance of Linux) without rebooting. QEMU also doesn't require any formal installation (apart from the aforementioned and optional device drivers) to get up and running; it works in any directory, albeit with a command-line switch to provide the path to the program's components.

A number of people have created pre-packaged versions of QEMU with various OS images, something like VMware's appliances although without the licensing restrictions you might encounter with VMware. One such item is QEMU-Puppy, a repackaging of the Puppy Linux distro with QEMU.

While VMware sports the best overall range of features, both big and small, VirtualBox is rapidly becoming a serious contender if it isn't one already. Its licensing is far less restrictive, and it only differs in functionality in ways that will be important to a minority of users. QEMU is best for advanced tinkerers or the more adventurous, but with a little work it can do quite a bit.

Finally, it's somewhat depressing how far behind the curve Microsoft's Virtual PC has already fallen: it's missing key features implemented by the competition, has licensing that doesn't allow it to run on all current versions of Windows, and in general needs to be replaced by a newer and better offering. Looking at the competition, some might say it already has been.

Editor's Choice
Samuel Greengard, Contributing Reporter
Cynthia Harvey, Freelance Journalist, InformationWeek
Carrie Pallardy, Contributing Reporter
John Edwards, Technology Journalist & Author
Astrid Gobardhan, Data Privacy Officer, VFS Global
Sara Peters, Editor-in-Chief, InformationWeek / Network Computing