My Experiences with Virtual Machine Software
As part of the research I’ve been doing into how easy it could be for
a Mac OS X user to switch to Linux, I decided to load one of the more
popular UNIX distributions and familiarize myself with it. I
didn’t want to dedicate an entire PC to Linux, so setting up a virtual
machine in which to test Linux seemed the right approach.
What is virtual machine software? That’s hard to explain,
but I’ll give it a shot. Virtual machine software
“pretends” to be a complete computer, only it’s software
rather than hardware. A good virtual machine program will allow an
entire operating system to run inside it, with that operating system
completely unaware that it isn’t running inside its own PC. There
are many uses for virtual machine software, including testing and
debugging operating systems, performing security testing
(”honeypots” to attract viruses/worms, for example), and
testing software with multiple operating systems without having to
devote an entire PC to one OS. In this case, having virtual
machine software will allow me to run Linux on a Windows XP Pro system
without disturbing my Windows installation. Linux will be there
when I want it or need it. All I have to do is launch
the virtual machine.
The Linux “distro” I chose was Red Hat Fedora Core
4. I chose it based on past familiarity with Red Hat
and the fact that I bought a fairly expensive book on FC2 a while back
and wanted to leverage that purchase.
Having read a great deal
about QEMU being a
fast and capable emulator, I decided to try it first. Even with the
bundled QemuMenu software, it took a while to figure out how to set up a
virtual machine and boot it from the ISO file. Once I had done
that, I was impressed at how quickly the Qemu software seemed to be
booting and getting to work. Unfortunately, after several hours of
waiting and watching (including leaving the software overnight to finish
installation), I gave up. Either Qemu had bogged down to a point
where it was no longer working or it had locked up on each attempted
installation attempt.
My experiences with Qemu on
a 933 MHz G4 Mac OS X 10.4 machine were only slightly better. With
the “QemuX”
version, I was able to successfully load ReactOS 0.2.7, OpenDarwin 7.2.1 for
x86, and Red Hat Linux Fedora Core
4. ReactOS ran a bit slowly in this configuration but
would be usable. OpenDarwin ran at an acceptable speed (but since
it’s text-based that’s no surprise). Red Hat ran glacially slow
but I was at least able to complete the installation by leaving it
running overnight. QemuX had some graphics
troubles on this system. The only way I could tell that the
installation screens had changed in the FC4 installer was to watch the
CPU usage on the machine. If it dropped from “near 100%”
down to something like 2-5% I knew it was waiting for input. I’d
then activate the mouse in QemuX and move it around
until the screen had been repainted with the new installation
screen.
One thing I can say for QemuX is that the Windows
and Linux versions really ought to have a GUI like the one that ships
with QemuX. It made the process of configuring Qemu on
Mac OS X every bit as easy as VMWare (covered later), and perhaps even a
bit easier.
I’d used Bochs in the
past and found it very quick with Windows 95 and 98SE, so I downloaded
the latest one and fired it up. As with Qemu, it
took a while to sort out the right combination of settings to bring the
virtual machine to life with the Red Hat DVD image. I was,
however, successful in getting FC4 installed on Bochs
2.2.1. What wasn’t so successful, however, was using FC4 on
Bochs. It was just too slow to be of any real
use.
At this point I decided to look at commercial products to see
if they would serve my purpose any better. I started with VMWare Workstation
5. With VMWare, it was incredibly
easy to setup a virtual machine and load it with Red Hat FC4. In
fact, I had it booting and installed in almost as much time as it took
to sort out what I needed to do to get Bochs and
Qemu working with the DVD image.
VMWare is also quite fast in comparison to the other
two emulators. When you switch VMWare to
full-screen mode, you almost don’t notice you’re running in
emulation. (It’s slightly slower than native response in Windows,
but the difference is almost
imperceptible.)
VMWare also provided for seamless
networking and use of built-in peripherals from the host PC. In
short, it made the process of creating, configuring, and setting up a
virtual PC incredibly easy and fast. So fast, in fact, that I was
able to even load a couple of favorite Linux apps (Inkscape
and Scribus,
reviewed elsewhere on this site) and tinker with them a bit before going
to bed.
One other very nifty feature of VMWare is
that you can designate a directory on the host PC that you want to share
with the virtual machine. This can be handy if, for instance, you
downloaded something interesting in Windows XP but it’s a Linux
application you want to try later. By saving it in the appropriate
folder (or copying it there) you can access it from the virtual machine
running Linux.
Don’t be surprised if you see some Linux articles
appearing on this site now that I’m able to easily boot and load the
OS…