I'm a virtual machine junkie. I am always starting, stopping,
creating, restoring, deleting, moving ,copying, and any other actions
you can take with virtual machines (though they are difficult to throw
out the window since they are virtual and all). Most of this activity
happens because I like to play with Beta (or even CTP) software. Why
would I install Beta software on a production machine when I can
install it on a virtual one? In the past I used to re-pave (format,
reinstall OS and all apps) my machines about once every 3 or 4 months.
Part of this was necessary because I was running Windows 95, Windows
98, Windows NT, etc. but most of it was because I was constantly
installing and removing software. I guess it's not even Beta software
most of the time. I enjoy installing and playing with new software of
all types. A couple of years ago I discovered the joy of virtual
machines (I think it was a Citrix product that later became Virtual
PC). Now I re-pave my machines once a year or less. Any apps usually
have to get tested on a virtual machine before they make it onto the
real deal. It really helps for all of the applications that I'm just
curious about.
Before I really start gushing about virtual machines (too late) and
the software to use them I feel I should take a moment and explain my
take on what a virtual machine is and some of the terms that I'll be
using. A virtual machine is an isolated environment on your PC that
behaves as if it were it's own physical PC. The virtual machine thinks
it has its own processor, memory, hard disk, video card, etc. The
hardware is all simulated by the program running the virtual machine.
It's that simple (I'm sure this is an awesome bit of engineering and
software development under the covers but I like to leave that under
the covers so I feel it is simple). I'll use terms like virtual machine
or VM for the virtual machine. Host or Host OS for the physical machine
and the operating system running on it. Guest or Guest OS for a virtual
machine and the operating system running on it. You can have multiple
guests running on one host.
Most of my VM's have been done with Microsoft's Virtual PC.
Virtual PC is a very nice product that can do a lot and does not have a
huge learning curve. It allows you to easily setup a new virtual
machine with one or more virtual hard disks (files on the host machine)
and network connectivity. You can turn on what they call Undo Disks and
when you shut the machine off you can either commit changes to the
virtual hard disk, delete changes and essentially act like you never
did anything on the machine since changes were last committed, or just
leave things as they are with the changes still there but uncommitted.
This allows you to take a VM and install software on it (or do anything
else you like), try it out and then discard changes and the VM
never knows that you tried to install anything. Sweet!
As I mentioned, Virtual PC is a Microsoft product. This means that
it officially only supports Microsoft operating systems as the host and
the guest(s). This is just the official support. While I do believe
that the host has to be a Microsoft OS, the guest can be many other
things with Linux being the most popular (I think).
Before you create a new VM and install a guest OS it helps to take a
peek around the menus and options available in Virtual PC. One of the
more important ones to note is the Performance options
(File->Options->Performance). This tells Virtual PC how to
allocate the finite time of the real processor between the host and
guest OS. I've known several people who have setup a VM and started a
long install process (usually a hour or so) and gone to bed. They wake
up in the morning to find the install still running. The culprit is one
of the performance settings that says when the VM is running in the
background then processes on the host have priority. What you want
(especially when installing) is the option that says to run the VM at
maximum speed. This can slow down your host processes but I find that
when I'm working with a VM I am not doing much of anything on the host
anyways.
This is running a little long and I've just given a basic
introduction to using virtual machines. I have tons more to say on this
topic (as anyone who knows me can tell you) so I'll create further
posts. I definitely want to talk about VMWare Workstation as a better alternative (and more expensive) to Virtual PC.
ArsTechnica is a news site that usually sticks to tech news and the like. They’ve got a great group of writers and every once in a while they have an article that stands out. They’ve got one today called Civil liberties vs. national security: a panel report. This is a good thought provoking look at an issue that all of us will deal with becuase it is changing our very society. I don’t agree with everything that is said but it makes me think and that is good. Go read the article and do yourself a favor and subscribe to the feed for the site.
My first blogroll entry, filed under Egon – ArsTechnica.