Have you ever had a computer for a long time and then wanted or needed to move all your data to a new one? Or, have you ever had to reinstall Windows just because you’ve loaded so many programs that it’s caused your computer to crash so often that you’re willing to start over? Well, what would you say if I told you it is possible to take a “snapshot” of your entire computer and move or copy the data to another machine in minutes so you can continue right where you left off.
Well you can, and it’s not something that is “coming soon”, it’s here today and has been here for at least a couple of years. The technology is called Virtualization, and there are several software vendors who provide the capability to allow you to do this on any operating system – Mac, Linux, or PC.
Before you ask me “why would I want to virtualize my computer”, let me share a few reasons:
- Portable workspaces – virtualization allows you to move your entire digital workspace from one physical machine to another. You can even use an iPod or USB memory sticks to host a virtual machine!
- Testing and training – rather than loading all kinds of unknown software into your normal computing environment, you can have a virtual machine just for testing. Heck, you could have one for games, one for personal computing, and one for work!
- Disaster recovery – if you always keep a recent backup of your virtual machine, say… on a portable USB hard drive, even if your computer dies you’ll be able to pick back up exactly where you left off without having to reinstall everything.
- Consolidation – Virtual machines are used to consolidate many physical servers into fewer servers, which in turn host virtual machines. Each physical server is reflected as a virtual machine “guest” residing on a virtual machine host system. This is also known as Physical-to-Virtual or ‘P2V’ transformation.
Before we really get started, here is a short explanation video which discusses server virtualization. Although they are talking about doing this on servers, it works the same on your desktop computer. So read on after the video to hear my spin on desktop virtualization.
VMware Player – The Easiest Way to Give Virtualization a Try
Ok. So all this information about virtualization would be completely useless if there wasn’t a good way to give it a test run and see what the heck I’m talking about. Never fear dear readers, I’ve got you covered!
VMware is the 900 pound gorilla of the Virtualization world, and they have a free tool called VMware Player (available for Windows or Linux) that you can download and install to run virtualized machines. Better still, there are ready-to-go Virtual Machines that you can download and have up and running in minutes!
So, grab the VMware Player and install it, then download a couple of VMs (virtual machines). I recommend the following:
- Ubuntu Desktop 8.04
- Fedora 9
- OpenSolaris 2008.05
- Kubuntu 7.10 KDE 4
- Desktop BSD
- Microsoft Windows Server 2003 R2
- Centos 5.1 Desktop
- Other desktop operating systems can be found here.
After you’ve downloaded any/all of the above Virtual Machines you can extract them to any directory on your hard drive that you choose and then simply open them using the VMware Player.
The good news about Player is… it works! The bad news is:
- You can’t run multiple OSs simultaneously (at least, I don’t know how)
- It’s not a full featured VM environment
- You can’t create your own virtual machines
For that you can upgrade for free to VMware Server. But be aware that it is a lot more complex (and powerful).
Parallels – The Defacto Mac Virtualization Software
Now, VMware is not your only option. Mac users have lots of experience using Parallels, mainly to run Windows as a guest application inside the Mac operating system. Most people don’t even know this is a virtualization platform.
Anyway, the guys from Parallels were kind enough to get me a copy of Parallels Workstation to try out (it’s only $50 anyway, and there is a free trial version), and I must say, I do like it. It makes running virtual machines very easy. There is just one thing that bothers me… I can’t find as many pre-made VMs as you find for VMware. There is however a list of virtual machines that you can download directly from Parallels here.
I also found one site that purports to help you convert VMware machines to Parallels, and I tried to do it, but it didn’t work at all for me. I used the Windows client, so maybe that is the problem?
Here is a short video which demonstrates the use of Parallels on a Mac. The video explains the use of “Coherance” mode with Windows running inside and more or less integrated within the Mac OS.
Parallels also provides a tool called Transporter which allows you to convert your physical machines into virtual ones – or it will convert VMware VMs to run on Parallels. I downloaded the Windows version for free and tried converting one of the aforementioned VMware machines and it worked – though you have to follow the steps in this Knowledge Base guide. I should mention however that after the conversion I still couldn’t open the VM because apparently my VM used a SCSI hard drive interface, and Parallels only supports IDE. And frankly, I couldn’t follow the instructions to fix the issue. They were far too complex.
Now, everything up to this point has been based on my experience of virtualizing a Windows based machine, so let me switch gears a bit. If you are using a Mac I must say that Parallels is just an awesome piece of work!
My Windows machine broke down at work, and the guys in the IT department thought it would be amusing to give me a Mac as a loaner. The only good news for me, having never used a Mac, was that they set it up using Boot Camp to run Windows for me so I wouldn’t be lost. Well, one day I was feeling experimental and I booted into Mac OSX and ran Parallels. Lo and behold, there was my entire Windows boot camp partition, and it ran right inside OSX! It didn’t need to be reinstalled or anything… it was just there!
After playing with OSX and Parallels a little more, I noticed all kinds of cool little things that really made running Windows seamlessly integrated into the Mac environment. Oh, and one other little thing I can’t explain. Windows is less crash-prone running in Parallels!
Anyway, if you already own Parallels for Mac because you’re running Windows in it, download and give one of these other Operating Systems a try for the fun of it:
- ASPLinux desktop
- Kubuntu Desktop
- OpenBSD Desktop
- Debian (no desktop)
- Plus here are a few ready to install specialty appliances.
And if you aren’t yet running Parallels on your Mac, for God’s sake go and get it!
VMware Fusion for Mac
Here is a Google TechTalk from the lead developer of Fusion. He covers basically everything about VMware Fusion that you might want to know.
Sun xVM VirtualBox – Enterprise Grade Freeware
I found VirtualBox to be a fantastic piece of open source software. It was intuitive, while also being extremely easy to walk through the setup of new VMs. The only problem is that their site doesn’t have very much information. Of course, it shouldn’t really matter since it’s so easy to use…
VirtualBox runs on Windows, Linux, Macintosh and OpenSolaris hosts and supports a large number of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista), DOS/Windows 3.x, Linux (2.4 and 2.6), and OpenBSD.
Here is a video that demonstrates how easy it is to use VirtualBox to run Windows inside of a Linux physical machine. I didn’t try this, though I did load Unbuntu onto my Windows physical machine and it worked like a charm.
Microsoft Virtual PC 2007
If you are running a Microsoft OS, you should definitely download and install the free MS Virtual PC.
Virtual PC 2007 is a powerful software virtualization solution that allows you to run multiple PC-based operating systems simultaneously on one workstation, providing a safety net to maintain compatibility with legacy applications while you migrate to a new operating system. It also saves reconfiguration time, so your support, development, and training staff can work more efficiently.
Virtual PC 2007 runs on: Windows XP Professional, Windows XP Tablet PC, Windows Server 2003, Windows Vista Business, Windows Vista Enterprise, and Windows Vista Ultimate.
Here is a nice little video walkthrough of how to install and run Virtual PC:
Xen – A Powerful Alternative
While the aforementioned platforms seem the easiest to use for people looking to virtualize their desktop machines, Xen is a fantastic option for the more technically oriented. In other words, Xen is too hard for me to use and test.
If you are an ubergeek you probably already know about Xen and don’t need me to tell you how to use it. But here is a lecture that explains how Citrix intends to virtualize the desktop of every enterprise user in the world:
Quite frankly, I’ve learned that I love virtualization. I will never, ever, go back. There is only one thing that I didn’t enjoy about testing all of these VM environments. The lack of standardization.
I got sick of waiting half an hour to install Windows or Ubuntu in each Virtualization software, and was really praying for some sort of VM standards by the time it was all said and done. It would be really nice if each of these applications could open VMs created by the others. Then we as users would truly have the freedom to choose our technology at will.
Nonetheless, this is a technology that is fully baked and I highly encourage everyone to give it a try before you fall too far behind the curve.
Not satisfied? Just getting warmed up? Well, here is a list of spaces to get some more information:
- An Introduction to Virtualization
- Virtual Linux – An overview of virtualization methods, architectures, and implementations
- Virtualization 101 Video