I’m currently writing this blog from a 1 GB Lenovo NetBook running Ubuntu Linux 8.10 inside virtualization software installed on Windows XP Home Edition. I have been experimenting with different hosted virtualization software to compare and contrast – I have been very impressed! However, I would not recommend installing virtualization software on a netbook! I did get it working, but currently, most virtualization software does not “officially” support the processors netbooks use (in my case, an Intel Atom processor). Also, the performance on a netbook, when running anything more than the command line, is impractical.
I’m going to discuss strictly hosted virtualization in this blog. Hosted virtualization allows you to run multiple instances of x86 or x86-64 compatible operating systems on a single physical PC; the operating systems run in an environment on top of another operating system, so it is not considered “true virtualization.” I am not going to get into the details of what I think is the best hosted virtualization software at this point, because I’m not sure as of yet. Also, it depends on what you define as “best.” Some software is open source while other software is quite expensive. I will say VirtualBox seems like it has a good lead in the free Open Source community and VMWare seems to have a good foothold in the commercial software arena. Also, Parallels is the most popular commercial Mac virtualization software; it is considerably less expensive than VMWare for Mac.
The virtualization concept really is brilliant because it allows you to run multiple operating systems off of one PC without worrying about partitioning hard drives and all the headaches that can come along with it. Currently, I have Windows XP Home, Ubuntu Linux 8.10, SUSE 10.2, and FreeBSD 7.0 all installed on one machine! However, only Windows and Ubuntu are currently running (remember I only have 1GB of memory). I could run more OS’s at the same time by either installing more memory or lowering the amount of memory allocated to each OS. If I want to remove an OS, I can simply delete the space for the OS allocated by the virtualization software.
Try this out. If you currently have Windows, virtualization software installed, and a laptop and an extra monitor (or a desktop, an extra monitor, and a video card supporting two monitors). First, connect the extra monitor to either your laptop or desktop machine. Assuming you installed the virtualization software on Windows, extend the desktop (can be done in display setting/properties). Now run the virtualization software and start your Linux OS. Next, move the virtualization window to the extended (2nd) desktop on your Windows machine. In the virtualization window, go into full screen mode. Now you have one PC running Windows on one monitor and Linux on another monitor. I often minimize my Windows applications and move them on top of my Linux OS desktop. When my friends see me doing this, they get very confused and have no idea what is going on. They see Windows and Linux running on the same machine side by side. I really lose them, when I move an application running on top of Windows over to the desktop running full-screen Linux. See picture below.
If you would like to learn more about virtualization software, Kris Buytaerton has written an excellent article on Virtualization.com about the current state of open source virtualization software. Kevin Lo, from TechSoup.org, also provides a good article about some commercial vitualization software options.