Microsoft Virtual PC vs. Sun VirtualBox


The video above and the article below compare two free virtual machine applications designed for home users: Microsoft Virtual PC and Sun VirtualBox.

What is a Virtual Machine (VM)?

A virtual machine (VM) is a computer that runs inside a window on your host computer. VMs are also great for testing–you can test different operating systems, applications, and configurations without messing up your computer. For example, you could run Windows in a VM on a Linux or Macintosh computer, allowing you to run Windows-only applications. Or, you could test out Linux in a VM on your Windows box without committing to it.

In fact, even if you install spyware, adware, or rootkits in a VM, they won’t infect your host computer. Just shut down the VM, and your computer is as clean as ever. VMs are also a great tool for learning networking, allowing you to connect several different computers when you only have one computer available.

After the jump, my recommendations for home users who want to use VMs:

Microsoft Virtual PC

Virtual PC is the right choice for people who just need to test downloads or browse the Web with total privacy. It’s free with Windows 7–in fact, Microsoft even includes a license for Windows XP to allow you to run any old applications that aren’t compatible with Windows 7. It’s polished, fast, reliable, and (like VirtualBox) it can share USB devices and network connections.

It also has a couple of unique features: It can log you on automatically to a Windows VM, it’s integrated into the Windows 7 Explorer interface, and it supports the AERO interface in Windows 7. It’s biggest downfall? It can’t run Windows Server 2008 R2, because it doesn’t support 64-bit VMs. Your host computer can run 64-bit versions of Windows, however.

Sun VirtualBox

This is my favorite free virtualization software because it does several things Microsoft Virtual PC can’t do. First, it can run 64-bit VMs. That’s important, because Windows Server 2008 R2 is only available in 64-bit. Second, it supports multiple processors on the VM, which can improve performance.

Third, and most importantly, VirtualBox supports snapshots. With a snapshot, you capture the state of a VM. Later, if you mess up the VM, you can return it to the snapshot state–like instantly restoring a computer from a backup. With a snapshot, you never have to worry about messing up a VM. Snapshots are great when you need to test something repeatedly and you want the computer to be in a “clean” state when you do it.

Feature Comparison

Both apps support the following features:

  • Run on 32-bit or 64-bit hosts.
  • Install integration software on the VM so that you can move your mouse in and out of the window–though this must be done after the operating system is installed.
  • Supports a variety of different operating systems on the VM, including different versions of Windows and Linux.
  • Connect USB devices to the VM–though this isn’t working in VirtualBox on a Windows 7 host for me–I get an error when it attempts to install the driver.
  • Automatically change the VM by resizing the VM window (this requires you to press a key in VirtualBox, but not in Virtual PC).

Microsoft Virtual PC has these unique features:

  • Supports Aero in Windows 7. This is the pretty, glass-like user interface, along with Aero-features like 3D-flip. To get Aero in VirtualBox, you need to connect to the VM using Remote Desktop.
  • Automatic login for Windows VMs. This saves you having to type Ctrl+Alt+Del and your password.
  • USB device sharing works properly with Windows 7. VirtualBox offers this feature, but it’s not working for all USB devices–for me, at least.
  • Integrated into Windows Explorer. VMs appear as files in a folder. Actually, I hate this feature–I’d prefer starting VMs from within an application.

Sun VirtualBox has these unique feature:

  • Runs on Windows, Linux, and Mac hosts. I’m a Windows guy myself, but I suppose if you’re using Linux or Mac, you’ll need this so you can run all those Windows apps in a VM. Ouch! No hatin’!
  • Run 64-bit VMs. This allows you to run Windows Server 2008 R2, which isn’t available as 32-bit.
  • Seamless mode. Applications in the VM act as standard Windows on your desktop. In other words, you can start an application in the VM, and move it anywhere on your desktop, even outside of the VM window. In the figure below, notice that I’m running Internet Explorer in Windows 7 on the lower window, and Internet Explorer in Windows XP on the upper window.

  • Remote display. You can use Remote Desktop (or any RDP client) to connect to a VirtualBox VM, even if the VM’s operating system doesn’t support it or the OS hasn’t yet been installed.
  • 3D and 2D video acceleration. This might allow you to do some 3D work, though performance still won’t be great on games.
  • Multiple processors. VirtualBox supports up to 8 CPUs in your VM–as long as your host has that many.

The Winner

VirtualBox is the clear winner–though I still need to use Virtual PC for those times when I need to share a USB device with a VM. I’ll also use Virtual PC for those times when I need the Aero user interface but Remote Desktop won’t do the trick.

Other Free Virtualization Software

I should also mention two other free virtualization products, even though they’re intended for businesses:

  • VMWare Server. It’s free, and it works, but it’s a pain to setup and run compared to VirtualBox or Virtual PC. What you really want for home environments is the far more useful VMWare Workstation–but you have to buy that at $189.
  • Microsoft Hyper-V.  It’s also free, but it’s intended for IT, so you’re going to have to read the instructions to use it. I say BOO to reading! Also, you can’t run it as an application on your existing computer.

5 Responses to “Microsoft Virtual PC vs. Sun VirtualBox”

  1. please inform me when virtulbox support aero in Windows 7

    • Tony says:

      All you have to do is to start the virtual machine, enable incoming Remote Desktop connections on your Windows 7 Virtual Machine, and then connect to the VM using Remote Desktop. Aero will work in the Remote Desktop session.

  2. John Mastrianni says:

    Tony,

    I bought your MS Press 70-642 Configuring Windows Server 2008 Network Infrastructure and would like to know how to set up the lab using Virtual PC 2007…

    I have two Dell Latitude laptops running XP Pro SP3 with enough hard drive space that I should be able to install both Virtual PC 2007 and Windows Server 2008 on…they will be connected to each other via a 4-port Netgear switch…

    Where can I get a free copy of Windows Server 2008 to use for the lab?…and do you have any suggestions on ensuring that the lab software don’t mess up these two laptops (I use both of them for business purposes)?

    Thanks,

    John Mastrianni

    • Hiya, John. Here’s a link to download a trial of WS08R2:

      http://www.microsoft.com/windowsserver2008/en/us/trial-software.aspx

      Of course, it’s 64-bit only, so you’ll need to use Sun VirtualBox (which, if you watched the video, you know that I prefer anyway).

      I’m not sure if you can download regular Windows Server 2008, but R2 will be fine for the labs and such.

      BTW, if you don’t mind blowing away XP, you’ll get way better performance out of those older laptops by installing WS08R2 on the computer directly. WAY better performance. They probably don’t support hardware virtualization…

      Good luck!

  3. john says:

    Important note, VirtualBox does not support 64bit guests unless your hardware and BIOS both support 64bit virtualization. Same for Hyper-V.