Dual Boot vs Virtual Machines on the Desktop

Written on December 16, 2011 by


Here at Puget Systems, we often talk to people who are interested in running multiple operating systems on the same machine.  Windows 7 and XP, sometimes it's Windows 7 and Ubuntu Linux; pretty much any combination is possible.  There are actually several ways of achieving multiple usable operating systems on a single PC, I just want to provide a short comparison between the two configuration types we most commonly discuss with our customers.

Traditional dual boot

One of the most common ways to achieve multiple usable operating systems on a single computer is known as 'dual boot'.  This refers to a custom boot loader configuration on your primary drive which allows you to select an operating system during startup.  This method can actually be extended to 3 or more operating systems installed on the same machine, although I'm not aware of many people actually doing so.

The most obvious drawback with a traditional dual boot configuration like this, is the computer must be restarted whenever the user wants to switch to the other operating system.  Another consideration is that the custom boot loader configuration can cause problems down the road when OS updates are installed, or when certain system utilities packages are installed; there is a potential to accidentally make one or both operating systems unbootable, and troubleshooting a broken master boot record is no fun.
The advantage of dual boot is each operating system works practically independent of the other, so each operating system has it's own independent set of hardware drivers and has direct access to all your hardware and peripherals.  This can also be a drawback if one of the operating systems doesn't have drivers available for your hardware - with Windows XP this is becoming more of an issue as the newest hardware is often not being released with XP drivers anymore.


Desktop virtualization is a newer way of running multiple operating systems on one desktop system.  Desktop virtualization requires a virtualization program such as Oracle's VirtualBox ($0), VMWare's VMWare Workstation (~$200), Parallels' Parallels Workstation (~$50), or Microsoft's Virtual PC ($0).  The virtualization program is installed on your 'host' or primary operating system, and then your 'guest' operating systems are installed within that application.

The most obvious drawback of virtualization is that if your host OS is not working right, your guest operating systems could be affected by those problems (eg. improper hardware drivers or malware on the host OS).  Another drawback is the guest OS's lack of direct access to your system's hardware - for some applications like 3D games, this can be a major problem.
The main advantage of virtualization over dual boot is that you are able to run both of your operating systems simultaneously without rebooting.  You could even run one operating system on a first monitor and another operating system simultaneously on a second monitor.  Among other significant advantages is the ability to quickly take a 'snapshot' of your guest OS at a point in time and restore back to that snapshot whenever you choose - this can be hugely helpful for software testing or 'auditioning' some software you're unsure of.  These features really only scratch the surface of what can be accomplished with virtualization, it's a pretty exciting technology!


Overall, if you need a second operating system on your machine, I highly recommend a virtualization solution if you can deal with the few drawbacks mentioned.  Dual boot is generally much more of a hassle to keep working, and I find that when a reboot is required to change between operating systems, people are more likely to just standardize on one operating system and never use the other.

Tags: Linux