Update: I think Virtual PC is gone. Their web page seems to be
a parking page now. That's OK, there are plenty of other products to choose
See the Virtualization Index for much more.
(link dead, sorry)
Virtual PC for Windows,
Mac (OS 9 or X) and OS/2 creates virtual machines that can run
multiple Windows versions. This is particularly advantageous for
Mac users, but even ordinary PC users can find value in this. It's
easy to have Linux, Windows 98, Windows ME, 2000, XP Home and XP
professional all on the same machine.
Easy doesn't necessarily mean fast. It took two hours to install
Linux on my iBook, and after installation, running "makewhatis"
took 13 minutes. A "time dd if=/dev/hda2 count=1024k of=/dev/null",
which would have run in perhaps 18 seconds on a real install, took
24 seconds here. None of that is awful, but it is noticeable. Part
of the problem is that the iBook isn't exactly high performance to
start with, and the limited memory available (640 MB) does not
help. If you are going to run Virtual PC, load up your machine with
as much memory as you can. XP runs horribly slow, it's quite
painful to use, and seems to have gotten worse after upgrading to
Windows OS Packs
For Windows OS installs, the easiest choice is to buy an OS
Pack. This gives you a legal, licensed version of whatever
operating system(s) you want, and it is very easy to install. I
installed Windows XP Professional from a Connectix OS Pack and had
absolutely no difficulties. The installation of RedHat 8.0 was not
You begin by creating a virtual drive and allocating memory. I
gave it a 15 GB hard drive (potential) and 128 MB of memory. You
then simply pop in your install CD and startup the virtual machine.
You can also do this using CD images: start up the machine, and of
course it will fail. Now drag a CD image to the little CD icon at
the bottom of the window, and use the Control menu to send
The first problem I had was caused by my lack of patience. The
difficulty was simply that I needed to wait for the Mac Desktop to
mount the CD before telling Virtual PC to start up the
installation. My impatience showed up again on CD 2 in a later
install; if your install refuses to recognize a CD, try ejecting it
After getting by that, my impatience caught me again at the
screen shown above. The installation hangs for a LONG time there; I
assumed something was wrong and rebooted Virtual PC. Fortunately,
when it hung again I had to take a fairly long phone call. That
kept my hands off the keyboard, and after ten minutes or so the
install continued. If I had paid attention to the activity
indicators at the bottom of the Virtual PC window, I would have
realized that it wasn't dead at all.
The final problem with RedHat was the GUI configuration. You can
just accept the defaults here; I used Unprobed Monitor with a
horizontal sync of 31.5-48.5kHz and a vertical sync of 50-70Hz, and
a screen resolution of High Color (16 bit), 1024x768. When I
clicked "Test Setting", everything went well until it returned to
the installation. I had a much smaller window and it would not
resize. I'm quite sure I could have tabbed my way to proper
answers, and I did try, but I kept getting stuck in the same place
so finally I gave up and started over. This time I did NOT test the
settings, and the the only concession I made to the possiblility of
it not working was to have the login be character based.
The RedHat install suffers from another problem: the mouse gets
stuck in the Virtual PC Window. The Windows XP I purchased from
them has a custom mouse driver that eliminates this problem (except
briefly at startup), but here we have to live with it. Use
Apple-Tab to switch away. At one time Virtual PC sold a bundled
RedHat OS that might have not had this or other problems, but they
stopped doing that, and now that Microsoft has bought them, I doubt
we'll see it again.
The Linux AlT-Screens work as they should: hold down Control and
Alt (Option) then fn (the key to the left of Control on my iBook)
and press a function key.
As mentioned aboove, the performance is a little sluggish at
times. Connectix has a .lot of good help on the Windows OS side;
. I don't spend a lot of time in XP or Linux; my main use is to
check out how to do something for a client or test scripts I'm
writing. The small performance penalty doesn't really bother
I mentioned above that I had the RedHat drive have a potential
of 15 GB. Its actual size is about 5 MB; it will grows as needed.
That's an area where you could imporove performance by
preallocating the space you really need.
There are two ways to handle networking: you can either use
Shared Networking (meaning it shares your machines ip address) with
the machine set to DHCP, or you can have it set to "Virtual Switch"
and assign your own real ip address (or use a real DHCP server). I
used the Shared method on both XP and Windows but ran into a very
odd problem on the Linux side. I could ping anything by ip address,
ssh to any ip address etc. I could also resolve host names with dig
or host. Yet I couldn't ping or ssh by host name. That's beyond
strange, and I've yet to figure out how that can be. However, for
my use, it is unimportant.
Throw way changes
The very best thing about Virtual PC is its handling of drive
changes Whenever you shutdown an OS (using the Virtual PC menus),
you are asked what to do with hard drive changes: discard, carry
them forward, or make them permanent. When I'm about to try
something odd, this feature can be a lifesaver: I save the PC's
state first, then do whatever awful thing it is I want to do. If I
then get crashes or unpleasant behavior, I simply discard the
changes and I'm back to a working configuration. This is just
wonderful for people who have to screw around with all kinds of
strange software that can do damage to your system. It's also a
clean sweep of anything you don't want: you don't have to trust