A new way of thinking thanks to virtual machines
As you can probably guess my machines are in a constant state of flux. Having to write about one distribution after another (and then include the scattered Windows content to cover) makes for an endless loop of installing/using, installing/using. On top of that it uses a lot of resources (especially CDs/DVDs).
Recently, however, I have adopted a new way of working with all of the various operating systems I have to deal with. Virtual Machines. By using virtual machines I have the best of all possible worlds at my fingertips. Let's take a peek at exactly how I am doing this and why.
You will remember a while back I covered VirtualBox. If you missed those articles, here they are:
- Installing and configuring VirtualBox for virtual OSes.
- Installing Windows XP as a virtual machine in VirtualBox.
- Install Guest Additions for a better VirtualBox experience.
Once you have read through the above articles you will be familiar enough with VirtualBox that you will understand the concepts of this article better.
Why I chose Virtual Machines over standard methods
As I stated earlier, I am constantly having to install, re-install, uninstall, etc various operating systems. Sometimes it's nice to be able to keep an installation for testing as I install another operating system. This is all fine and good and dual booting certainly has its pros and cons. But ultimately being able to save a machine state and close the OS has advantages that dual booting simply can not touch. Here are some obvious reason to use virtual machines over standard methods:
Cost: Instead of having to burn through CDs/DVDs you can download ISO images directly to your drive and install a virtual machine from there. You will also require less hard disk space since the Virtual Machine will use dynamic-sized virtual drives.
Time: No more rebooting into a different OS. Save your OS state and shut it down. The next time you need that OS start the VM and it will return in the exact same state it was in when you saved it.
Efficiency: While you're installing a new virtual machine you can continue working on the same PC. The installation of the VM happens within its own window allowing you to go about your business.
Testing: I often test a lot of software and sometimes in the testing I can fubar an perfectly good installation. Saving states allows you to go back to a previously saved state prior to the fubar'ing.
Stability: I use a laptop for my Windows work. That laptop has Vista Home Premium installed. Yeah. Needless to say I am constantly having to baby that OS to keep it running right. Prior to using Virtual Machines I would have to reboot from Linux to Windows and hope that the Vista install was still working properly. Now, thanks to Virtual Machines, I just fire up the VM from the last working saved state and all is well. I am still working within a much more familiar (and stable IMHO) host operating system - Ubuntu.
Space saving: Prior to employing virtual machines my office was littered with PCs. Now it's free and clear (and the office is much cooler without all of those PCs taking up space), because all of my "machines" are housed in one simple environment.
There is but one real drawback to this setup. You have to have a machine powerful enough to dedicate the resources to the virtual machines. My laptop has 3 gigs of RAM. When running Vista on its own you would think it was a machine from a decade ago. Using VMs I can run a host OS and a couple of guests without seeing much of a decline is performance. Now I will suggest not using KDE 4 as your guest desktop. Stick with either GNOME or a lighter weight desktop so to save resources for more important work.
I hope this article has helped you understand why virtual machines are the way to go when you need multiple OSes for multiple reasons. I have not had a single problem since employing VMs for all of my testing purposes. I hope you find yourself having the same experience. Have you employed Virtual Machines for your work? If so, tell us why.Advertisement