- When you need to run multiple operating systems, or multiple versions of your host operating system.
- When olderware apps refuse to run on your latest, greatest operating system.
- For testing patches and service packs before relying on them in mission-critical environments.
- For providing tech support to end users based on their computer environments.
- When you want to capture "impossible" screen images, such as during the installation of new operating systems or versions.
- For protecting the primary computer environment from Internet malware.
Virtual environments (guests) install on top of your current operating system (host). After you instal a guest, a couple of mouse clicks will invoke it and you can freely switch between guests and host. "Freely" is a word I use with caution, because virtual OS software can have its costs, in both time and dollars: guest operating systems and apps you install on them often require separate licensing from their vendors, and installing a guest requires you to configure it and applications that you run on it, just as you would with any virgin OS installation.
For years, the acknowledged leader of virtual operating environments has been VMware. However, Virtual PC, which Microsoft acquired from Connectix Corp. about two years ago, now sets the pace for many users who rely on a primary operating system from Microsoft or on a Mac. (I didn't test the Mac edition for this story.)
I installed Virtual PC on a Windows XP Professional SP2 system that already was populated with some favorite apps. Then I installed another instance of Windows XP as a guest. Neither the host nor this guest knows about apps or files in the other instance. After I finish testing new software in the guest, I can tell the guest to discard or save the changes. If I choose to discard my work, the next time I run the guest I have a pristine testing environment.
Virtual environments have another sort of cost as well -- system resources. You need sufficient system resources to run the host and guests concurrently. The requirements are steep:
- Unless you enjoy the speed of flowing molasses, you need ample RAM. Figure a bare minimum of 256MB of RAM for the host and at least the same amount for each guest environment that you plan to run concurrently with the host. You'll be much happier with at least 1GB for the host and one guest, plus 512MB for each additional guest you want to run at the same time. And that's just for basic apps. If you run memory-intensive apps plan accordingly.
- Hard disk space isn't much of an issue these days, but figure about double the space that you currently use for one guest, triple that space for two guests, and so forth.
- A 1GHz processor is a realistic minimum for the host and one guest for basic apps. Similar to RAM, if you run processor-intensive apps or intend to run multiple guests concurrently, you'll want correspondingly more CPU horsepower. Virtual PC requires level 2 cache.
- Don't even think about using a virtual-environment product unless you are experienced at low-level computer hacking, or have IT staff or a mentor with such expertise to help. Virtual PC make the process as painless as possible, but you'll have installation questions to answer, you'll need to take appropriate precautions (such as making a disk image of your original system; I recommend Acronis True Image), and you'll have plenty of work to do to set up guests and apps on them. Setting up virtual environments isn't a magic elixir that instantly provides multiple computers all rolled into one through a couple of mouse clicks.
Virtual PC is remarkable good at detecting and supporting hardware resources, but I have a few caveats:
- Some hardware and system settings aren't supported. I experienced no problems, but read the documentation before installation.
- If possible, increase the memory allocation beyond the installation program's recommendation. I accepted the default recommendation of 128MB of RAM when installing Windows XP as a guest. According to the guest's Windows System Information applet after installation, only a painfully small 64MB was recognized. My hunch is that Virtual PC reserved the other 64MB for its own needs.
- Don't expect improved performance with multiple CPUs. Virtual PC recognizes only one processor, which we confirmed on a two-CPU test bed. (VMware, in contrast, can assign a processor to each running guest.)
Though Virtual PC's installation is easy and fast, installing guest operating systems is agonizingly slow. While installing a second instance of Windows Professional on top of Virtual PC, the Windows installer estimated 39 minutes. The actual time was closer to 3.9 hours. But that's a mixed blessing -- a tradeoff between speed and accurately evaluating a computer's resources. (VMware is notably faster during installation of guests.)
One of my favorite benefits of Virtual PC is that I can a run second instance of Windows XP when heading into the Netherworld of the Internet. My host is protected and I can simply discard all changes to the guest instance, if necessary. Otherwise, I find it delightfully easy to share files and screen captures among guests and the host. During testing, everything moved freely other than one corrupted GIF file. My other day-to-day work performed flawlessly.
I recommend Virtual PC if you plan to "permanently" install guests, but VMware if you need a quick guest installation for temporary needs. Also, Virtual PC not surprisingly formally supports few operating systems other than those from Microsoft, and you can install it only on top of a Windows or (with the Mac edition) a Mac host. Other readers should consider VMware.
Microsoft Virtual PC
J.W. Olsen has been a full-time author, editor, and freelance book project manager with more than 1000 editorial credits for IT publishers since 1990, and has provided computer, Web site, and editorial services to other clients since 1985. He welcomes feedback via the e-mail response form at www.jwolsen.com.