Oracle released VirtualBox 4.1 on July 19 with a slew of improvements ranging from usability improvements to rasing the ceiling for RAM to 1TB for 64-bit hosts. With 4.1, we decided to take VirtualBox out for a spin and see how it handles.
I've been using desktop virtualization since the early days, when VMware was a scrappy little company shipping a nearly unheard-of product — a desktop virtualization tool that would let you run Windows in VM in Linux. No more dual-booting for those folks who had to have access to Microsoft Word or QuickBooks but wanted to enjoy Linux as their desktop of choice.
Fast forward to 2011 and users have a lot more choice. VirtualBox is at the top of the list for Linux users for a number of reasons: It's free as in cost and speech, because it's GPL'ed. It's packaged up for a number of distributions and easy to install, and it's easy(ish) to use. Let's take a look at the latest release.
Typically, I use VMware Workstation. In part out of force of habit, in part out of necessity. I'd tried VirtualBox in the 3.x days, and found it wanting quite a bit. VMware, though a pain to install and pay for "just works" for me. With VirtualBox 4.1 I wanted to give VB another go and see if it'd improved enough to turn to for my day to day work.
Installation and Setting Up
It was really easy to install VirtualBox 4.1 — and would have been even easier if I wasn't looking to go with the very latest release. I'm using Linux Mint 11, which already has VirtualBox in its (well, Ubuntu's) repos, but I needed to add Oracle's repos for 4.1. This took about two minutes and a short dive into my
Well, almost. While the main package is GPL'ed, some extensions for VirtualBox that provide niceties like USB 2.0 support, RDP, and PXE boot are in an extension pack that is under a proprietary license. It's also free as in beer, but it requires a separate download. Again, it's easy to install, but one additional step.
Finally, on Linux Mint, I also had to add my user to the vboxusers group as well. How's this compare with installing, say, VMware? I'd say VirtualBox has a slight edge given that VMware often requires compiling kernel modules — which requires installing a bunch of packages for many users that don't necessarily have all the kernel headers and development tools to compile them on-hand.
Working with VMs
Most of my use of desktop virtualization boils down to testing Linux distros. It's been more than a decade since I needed Windows, and I'm pretty light on working with the BSDs. I check in on them now and again, but for the most part my use is about running various Linux distros to test the latest and greatest or to for reference. (For example, installing or using a program on Debian-based vs. some of the popular RPM-based distros.)
This time around I tried VirtualBox with the experimental images for Debian GNU/Hurd, a BitNami virtual machine for VMware, and loading up a couple of regular distros from scratch.
The results were a bit of a mixed bag. The Debian GNU/Hurd install went well, until it was time to reboot and try it out. At that point, it froze entirely. I'm not entirely sure if that's a problem with VirtualBox or Hurd, or a combination of both. I was able to install and run Debian GNU/Hurd under KVM, but there's a lot of work that needs to be done yet to get it ready for prime time.
Unfortunately, things didn't go very well trying to import the machine from BitNami. I got a slew of errors before even getting to the point of trying to turn the VM on.
Installing regular distros, that went well. VirtualBox handles those just fine, or at least the handful I tried. Admittedly, I didn't try every Linux distro.
A couple of comments on the usability of VirtualBox: it's good but not great. VirtualBox has a few rough edges that really make me scratch my head. For example, if you want to install a Linux distribution in VMware it's pretty simple to figure out how to add an ISO image to boot from. You don't get the option to add an ISO image to VirtualBox until you start the "first run wizard" and then it's not intuitive. You can only add an image by clicking a fairly non-obvious folder icon on the right-hand side of the dialog next to a drop-down menu that shows the physical optical drives.
The defaults are very resource stingy, at least in my opinion. For example, I've run into problems with VMs in VirtualBox because it provides such a stingy amount of video RAM for its virtual machines. It also is very conservative about RAM, disk sizes, etc. This isn't a major deal — you can configure all of this — it just takes a bit longer than it should and can be frustrating if you're creating a lot of VMs.
For grins, I thought I'd see what would happen if I tried booting a Mac OS X DVD in VirtualBox. As most folks know, Apple doesn't want you running OS X on non-Apple hardware and is pretty touchy about running it in a VM as well. VirtualBox does have some support for OS X Server, but it's apparently limited to Mac hardware — when I tried to boot the DVD I got an error saying the platform is not supported. I'm not dinging VirtualBox for this one, though. It's one thing if VirtualBox has trouble running an OS that's not specifically designed to prevent being run on standard hardware, but the VirtualBox devs aren't exactly getting a lot of support from Cupertino to run Mac OS X on Linux.
As much as I would have liked to have road-tested the 1TB RAM limit for 4.1, I don't have any machines with that kind of RAM. It is pretty cool that they're supporting that, though.
VirtualBox has a couple of features I really like that are worth mentioning. For example, you can set up a VM for remote display so that you can run a VM on one machine but view its display on another. Even better, VirtualBox offers VBoxHeadless to run VMs on systems without any local display at all. I haven't used this one extensively yet, but look for a tutorial soon on running Linux headless.
VirtualBox 4.1 is pretty darn good, especially given what you pay for it. Is it as good as VMware? No. But, despite a number of minor annoyances, I have to say that I do really like the latest iteration of VirtualBox. It's not quite as easy to use or as intuitive as VMware Workstation — but at the low, low price of "free," it's hard to complain too much.
Whether you want to run multiple Linux distros, run Windows on top of Linux, or Linux on top of Windows, VirtualBox should be your first stop.