Updated: September 19, 2008
Today, I'm going to write about several popular and highly useful virtualization products that you can use to enhance your desktop experience. I have written about virtualization software in great length before, but this time it's more about what the user can do - rather than what the software can do.
A typical Windows / Linux user will have a wide range of software to choose from, include free and open-source, free and closed-source and payware virtualization packages, all offering different levels of usability - and difficulty. So let us begin.
In this category, you will find two free products by VMware and one free product by Sun, formerly innotek, the creator of VirtualBox. VMware Player, VMware Server and VirtualBox are your most likely candidates for desktop virtualization.
They offer solid if not exactly native-speed performance, extremely simple and friendly control consoles and lots of hardware support with some small drawbacks (3D, USB). On the other hand, they will require plenty of RAM and big chunks of hard disk space for virtual machines.
VMware Player is probably the simplest choice for most people. The Player allows you to run existing, pre-configured virtual machines or install new ones, albeit with some limitations regarding the configurations of the guest operating systems. For example, you will not be able to install guest add-ons, known as VMware Tools, which improve the overall performance of the guest operating systems.
Furthermore, VMware Player relies entirely on the system network stack for connectivity, so if you use a complex network configuration, with forwarding, firewall rules and what not, you will have to make sure the Player is allowed to connect through.
On the other hand, it is very simple to install and use - and even comes as a package in many online repositories of popular Linux distributions.
Another superb feature is the Virtual Appliances Marketplace, an online repository where you can download numerous virtual machines created by other people, already setup and configured. You can also read my article VMware Player - A great friend for more information.
However, to fully utilize its powers, you will have to be able to install it yourself, not exactly a difficult but neither a trivial task. Additionally, you will have to able to install the VMware Tools in guest operating systems, and possibly configure advanced options to improve the integrations between the host and the guest. The Tools will allow you to seamlessly move between the real and virtual operating systems, improve the mouse and monitor performance, allow you to synchronize the clock in guest machines, and more.
If you are willing to spend the extra time, it's definitely worth it. You'll enjoy the most complete virtualization package you can have for free.
The Server allows you to control multiple local and remote virtual machines simultaneously, limited only by your hardware resources, practically running, for all practical purposes, a small virtual PC farm. One of the strong sides of the Server is that it installs its own network drivers, significantly simplifying the layout and setup of your network.
VMware Server also offers a single snapshot for each guest operating system, allowing you to revert to previous states. The virtual machines are simple files that can be copied to create multiple copies (provided you don't do anything illegal).
VMware Server really shines on Linux 64-bit operating systems, where the host is not limited by the 4GB RAM cap, allowing you to cram your machine with memory and run tens of instances of virtual machines. On Windows, it is also possible to convert real machines into virtual machines using VMware Converter.
Great news are that future versions of the VMware Server, based on the latest VMware Workstation Beta will offer real 3D support for virtual machines.
VirtualBox wins somewhere in between the Player and the Server. It's much lighter and faster than either, but it's networking stack is the most difficult to configure for complex situations where the guest operating systems need to talk to one another or run services.
It has the unlimited snapshots feature, a highly valued option for people who need to frequently test multiple configurations of an operating system (or part thereof). The 3D support is similar to VMware Server. While neither will let you run real 3D tasks, the VirtualBox will give you a slight performance edge with older Windows games.
VirtualBox also supports USB 2.0 out of the box, something that the VMware Server still lack.
VirtualBox can run VMware virtual machines, as well. It is also the only product of the three that is open-source, offering a huge potential into future development. VirtualBox also comes included with several Linux distributions. For instance, here's VirtualBox running in the MCNLive VirtualCity live CD:
There are several other solutions that might interest you. You can enjoy emulation, quasi-emulation and thin virtualization products for both Windows and Linux without running full virtualization suites. While these solutions won't let you have real virtual PCs, they come quite close.
QEMU is probably the most difficult product to master and use. It's minimalist, entirely command line and will require good knowledge of the hardware infrastructure to setup properly. Still, it's something that you might want to consider, especially since you can find lots of ready operating system images on the Internet, including the official site.
We've talked about Pendrivelinux before. Running a range of QEMU scripts, you can run pretty much any Linux distro from a USB device (portable hard drive, pen drive etc) while still happily booted in Windows.
This is an excellent solution for people who must use Linux but are too afraid to move over, or are not allowed to install Linux where they wish to use; for example, work. You can read more about this in my article Pendrivelinux - Be cool anywhere you go.
MojoPac is a very handsome and useful solution for Windows XP users. It allows you to run a virtualized version of your own installation, with full 3D support, making it ideal for games and programs that require the use of the graphic card and yet you cannot install where you might need them (workplace, Internet cafe).
MojoPac is limited in being a self-virtualization, but it's extremely simple to use. You do not need to worry about the network stack or drivers configurations.
What more, luckily, VirtualBox can be installed inside Mojo, allowing you to test and use other operating systems. It must be said that VirtualBox is the only virtualization product of three 'best choices' that can run from MojoPac. You can read more about Mojo in my article MojoPac - Desktop virtualization software.
Other products that might appeal to you are the Returnil Virtual System and ShadowSurfer. They are both only available for Windows, though. ShadowSurfer is also payware, but older versions are quite often offered for free. They will both be reviewed here in detail in the future.
This is the most difficult of all products reviewed here - and it requires solid knowledge of Linux to use and enjoy. OpenVZ is a container-based virtualization. Each container runs as a fully separate operating system, independent of all other containers. What more, you'll enjoy near-native performance.
The caveat is that it can run on Linux hosts only and requires a special, dedicated kernel that leaves little space for other applications. In other words, you'll require a whole machine for this - even though, you'll be able to run dozens if not hundreds of virtual machines from it, simultaneously. OpenVZ will be reviewed here on dedoimedo.com sometime in the future.
I can think of several products that you might be interested, but consider them a long-term option. For most people, there's absolutely no reason to spend money, given the rich and excellent choice of free solutions. But still, for the wealthy connoisseurs ...
If you have extra cash, this is the opportunity to spend it. VMware Workstation is the Server on steroids, with the ability to create and deliver your own virtual appliances, unlimited snapshots and - upcoming in the latest beta - 3D support. I recommend you try VMware Server, fall in love - and then try to buy the Workstation.
This is the commercial version of OpenVZ. It might be good for you, if you're not into dirtying your hands with the command line.
CrossOver is a selection of products that allows you to enjoy Windows applications and games on both Linux and Mac. This products are not free, but they're worth considering.
For people who love to alpha-test, beta-test or just plain test, for hobbyist and professional security and network researchers and analysts, scared Windows users desiring the taste of Linux, Linux users who must run a Windows application now and then, gamers, travelers, students, and who knows who else, there's a range of excellent products to suit every mood and every soul.
It seems obvious that VMware Server and VirtualBox are the most sensible choices, but then others will complement them well. Bag in a few USB drives, pepper them with portable Linuxes and 3D-supported Windows, and you're all set.
Given the choice between VMware products and VirtualBox, it is very difficult to decide. Each offers its own share of goodies, whereas the minuses are (sic) virtually nil. I do feel that the VMware Server wins, due to its superior network support, but if you're not afraid to tack into manually creating and configuring bridged interfaces, VirtualBox might be the best choice for you.
If you're into nearly-native performance, then you must go for OpenVZ, but it's a beast to setup and use. There's a lot to choose from. The question is, are you brave enough - or rather, do you have enough spare time?