Virtual Machines: An Alternative to Dual Booting
Published: April 27, 2006

As we move forward into the new world of 64-bit computing, it's still hard to leave the 32-bit world behind. There are many reasons for such difficulty. For example, there could be no drivers for a favourite peripheral, or you might have a software application that won't install on Windows XP Pro x64. The difficulty could also be your confidence level with a new and unfamiliar operating system. Whatever the reasons, many early adopters of Windows XP Professional x64 Edition are choosing to set up their machines for dual booting. And that's a perfectly reasonable choice, but it does have some problems.
Dual Booting—The Good, the Bad, and the Ugly
Dual booting means installing two or more operating systems onto the same physical computer and then choosing which one to run when your computer first starts. Dual booting is a well-understood and time-tested way to use one computer to run more than one operating system. I can remember running 5 different operating systems on my PC at one point—and none of them were released products! What a pain that was.
The Good
The good part about dual booting is that it's easy to do, there are many folks who can help you to do it, and each operating system is completely independent of the other operating system(s). See my blog post on dual booting or my early Expert Zone column on dual booting to get all the details of how to do it.
The Bad
The bad part about dual booting is the booting part. You can't run both operating systems at once, and you have to completely shut down what you're doing and reboot into the other operating system if you need to run it. That process is slow, painful, and annoying, and it gets more so over time. You have to re-install any applications that you'll need in the second operating system, and any that you don't have in both could force you to boot again. But it's certainly doable and fairly straightforward.
The Ugly
The ugly part about dual booting is what happens when you're done and you don't need one of the operating systems any more. If you're getting rid of the older operating system, chances are it's on your C: drive, because it was installed first, which means that when you remove it, you'll have to clean off your C: drive and live with the D: drive as your x64 system drive. This process is not a big deal, but definitely a nuisance.
Using Virtual Machines as an Alternative
The alternative to dual booting is to use Windows XP Professional x64 Edition as your operating system and install an older, 16- or 32-bit operating system into a virtual machine running within the x64 system. The beauty of this solution is that you can have your legacy operating system available any time you need it, without having to leave what you're doing. Heck, you can run it all the time if you want.
Choosing Software
There are two primary virtualization software packages that run on Windows XP Pro x64 at this point in time—Microsoft Virtual Server 2005 R2 and the VMWare Server and Workstation products. Both VMWare and Virtual Server are solid, reliable packages. Both will work well on Windows XP Pro x64. And both can get the job done for most software and hardware issues you're trying to resolve.
There are two key differences in functionality that you'll need to consider. However, in deciding between the two choices (and I'm lumping the two VMWare products together even though they are quite different, because their overall functionality is similar.) If you must have USB support in your virtual machine environment, then you'll need to choose a VMWare product, since Virtual Server doesn't support USB yet. Even VMWare only supports USB 1.1 specification, not USB 2. And neither product supports FireWire.
The second difference in functionality is that Virtual Server doesn't support drag-and-drop or cut-and-paste operation between the host machine and the guest machine. This limitation can be a nuisance. On the other hand, the Virtual Machine Remote Client is a very useful windowing tool that gives Virtual Server a definite advantage over VMWare, especially when the guest operating system doesn't support Remote Desktop. And I think the mouse behaviour in Virtual Server is slightly better.
TIP: Use Remote Desktop—to your own desktop!
One frustration of using virtual machines is that they don't always interact exactly as I might like with my main desktop. So make your virtual machine operating system the 32-bit version of Windows XP Professional. Now you can simply open up a Remote Desktop session to your running virtual machine just as if it were on a different physical computer. No need to set up shares across the boundary—the Remote Desktop session will automatically set up client shares between the "remote" session and your x64 desktop.
So, it sounds perfect, but what are the downsides? Let's take a look at some of the issues, including interoperability between the real and the virtual machines, communication, performance, and connectivity to peripherals.
Communicating Between Guest and Host
One potential issue with running a guest virtual machine on your desktop is that it's entirely separate. You can't directly see the guest operating systems file system (or at least not easily and transparently) and the same is true in the guest operating system. The guest operating system can't directly see the hosts file system. Communication between the host operating system and the guest operating system is limited as well. The workaround is to set up networking between your guest virtual machine and your host virtual machine.
Ensuring Performance
Running a virtual machine on your computer is essentially the same as running a full second computer. Running a virtual machine will, obviously, have an impact on performance of both the host machine and the guest machine. You'll probably decide that running a game in the guest machine isn't the best possible experience, and I'd agree.
But for more normal workloads, I find the performance quite acceptable. Since the x64 processors all have quite a bit of processing power and speed, the key to good performance of both the guest and host machines is to have plenty of RAM for both. Don't try running virtual machines on an x64 PC with 512 MB of memory because you won't be happy. I've found that 1 GB of memory is about the minimum for the host machine and allows me to assign 256 MB of memory to the guest Windows XP session while still having 768 MB for the host. On my desktop machine with 3GB of RAM and a dual core Athlon 64 x2 processor, I can easily run several guest virtual machines all at the same time, including both Windows XP and Windows Server, as shown in Figure 1.

Figure 1: The Virtual Server Administrative Console
On my laptop, an Acer Ferrari 4005, with only 1 GB of RAM, I stick to running only a single guest machine at a time.

Figure 2: VMWare running Windows 98
Connecting to Peripherals
Both Virtual Server and VMWare support the traditional COM and Parallel ports as well as a variety of networking methods. If your peripheral needs USB support, however, or specialized SCSI support (such as for a tape drive), you'll need to use VMWare, since Virtual Server doesn't yet have support for USB or generic SCSI devices. And if your peripheral will only connect using FireWire (IEEE 1394), then you'll need to use dual booting, I'm afraid.
Conclusions
Windows XP Professional x64 Edition is now my main operating system and a good choice for most of my hardware and software. But for those few peripherals that I still have problems with, and for running my ancient copy of List (a pure DOS application from Vern Buerg Software), I use virtual machines instead of dual booting.
Contact Me
If you use Windows XP Pro x64, and you have a topic you'd like to see me cover in one of my columns or want to comment on one I've already written, feel free to write me at: Charlie@mvps.org. I really want to hear what you think.
Please understand that it is impossible for me to acknowledge or answer individual e-mail, nor can I provide individual technical support via e-mail. If you have a question or a problem, please ask it in the appropriate Microsoft public newsgroup or community, where all can benefit from the discussion. I regularly participate in the Microsoft Windows 64-bit and the Microsoft Windows Services for UNIX newsgroups, amongst others, and I look forward to seeing you there.