Author: Steven J. Vaughan-Nichols
Sun has released the first update to its recently purchased desktop virtualization program, now called Sun xVM VirtualBox 2.0. While not a major update, it does bring improved performance and 64-bit operating system support to the popular open source virtualization program.
VirtualBox, now part of Sun’s xVM series, runs on a wide variety of host operating systems, including 32- and 64-bit versions of Linux, Mac OS X, OpenSolaris, Solaris, and Windows. However, while the manual claims that it supports 64-bit Mac OS X, the program doesn’t actually support it yet. That said, VirtualBox runs a remarkable number of operating systems on any of these platforms, from MS-DOS and Windows 98 to OpenBSD and OS/2.
In my tests, I limited myself to hosting VirtualBox on openSUSE 11 and Windows XP SP3. The openSUSE system runs on a Hewlett-Packard Pavilion a6040n Desktop PC with a 1.86GHz Intel Core 2 Duo E6320 processor, 2GB of RAM, and a 320GB SATA hard drive. For XP, I used a Dell Inspiron 530s with a 2.4GHz Intel Core 2 Duo E4600 CPU with 3GB of RAM and a 500GB SATA hard drive. On both systems, I installed Ubuntu 8.04 and Fedora 9 as guest operating systems. On the openSUSE PC, I also installed XP SP3.
In every case, my installations of VirtualBox and then the guest operating systems went flawlessly. However, other users might run into some quirks. For example, VirtualBox works on any PC with an x86 architecture, and it supports Intel’s VT-x and AMD’s AMD-V hardware virtualization components; however, it doesn’t check for these architectures, nor does it support either by default. If you have the right chip set, you can turn on support manually via the program’s control center.
On Linux, you’ll also need to add users to the vboxusers group before you can use the program. VirtualBox creates this group when you install it, but it doesn’t add any users to it — not even the user who’s installing VirtualBox. When you install VirtualBox and try to run it for the first time, you might get the “VirtualBox kernel driver not accessible, permission problem” error message. That’s because the current user isn’t a member of vboxusers. Once you add that person to the group and have him log in again, he should be able to run VirtualBox.
VirtualBox is a lean, mean hypervisor. It only takes up approximately 30MB of hard drive space. However, to use it, you’ll need multiple gigabytes of disk for the virtualized operating system and its files. You can choose to either set up a fixed amount of space or allow VirtualBox to take up more drive space as needed. In my experience, it’s better to let VirtualBox manage its hard drive requirements.
You’ll also need enough RAM for your base operating system and every virtual machine (VM) instance. For example, to run Linux as a host with XP as a guest VM, you’ll need at least 1GB of RAM. For Vista as a guest, you’ll need at least 4GB. My general rule of thumb is to only run guest operating systems on computers with at least double their minimum RAM requirements. On my systems, all the guest operating systems ran at what appeared to be their full hardware speeds.
If I had high-end graphic cards or networking interface cards on either system, it would have been a different story. VirtualBox is a paravirtualization virtual program, which means the VM accesses some system devices as virtual devices. So, for example, no matter how fancy your graphics card is, you’re only going to get 16-bit VESA-grade video. That’s good, but no one is ever going to call it great. VirtualBox also uses a virtual AMD PCnet family Ethernet card for the guest operating system’s networking needs, regardless of what’s actually installed on your PC.
Despite the potential for graphics confusion, switching back and forth from the host to the guest operating system is as smooth as silk. Had I been running 3-D Compiz Fusion graphics on openSUSE, however, it would have been a different story. You should be fine as long as you stick with plain-Jane graphics.
For reasons beyond my understanding, several of VirtualBox’s most useful functions, such as setting up the Shared Folders common drive space for trading files smoothly between the host and guest operating system, are not installed by default. Instead, they’re in VirtualBox’s Guest Additions.
The documentation implies that VirtualBox Guest Additions is a standalone ISO disc image. It’s not. It’s actually included in the VirtualBox program, but to get it, you must first set up and start a VM. Then choose Install Guest Addons from the Devices menu on the VirtualBox window that frames the running VM. This mounts the Guest Additions program’s ISO file.
Once it’s mounted, open it and run the appropriate program for the guest operating system. For Linux, that’s a shell program with the .run extension. Then shut down the VM and set up a Shared Folder using the VirtualBox Details window. Finally, mount the new Shared Folder using
net use drive-name\vboxsvrNameOfSharedDirectory for Windows. In Linux, make a mount point for the drive using
mkdir -p /cdrive, then mount the shared folder with
mount -t vboxsf c_drive /cdrive.
If that seems too complicated, well, it is. Since I run a serious network, I tend to replace this functionality with Samba-based shared network drives. But if you’re using only one or two PCs, you’ll find it worthwhile to set up a Shared Folder.
You may want some other functionality that’s available only in a version of VirtualBox that contains proprietary software. This bundle includes a Remote Desktop Protocol (RDP) server, USB device support, USB over RDP support, an iSCSI initiator that lets you use iSCSI drives, and a virtual SATA controller. In my experience, the fully open source version of VirtualBox does include some USB support. For example, I was able to use a USB mouse without any problems.
VirtualBox runs extremely well. Over the course of almost a week of constant work on the systems, I couldn’t find a single Windows or Linux program that didn’t run correctly on a VirtualBox guest.
Even with the Shared Drive setup headaches, VirtualBox is equal to the purely proprietary VMware Workstation and better than most other open source desktop virtualization programs — although Parallels Desktop remains the best desktop virtualization program for Mac users. For the rest of us, though, open source VirtualBox is the desktop virtualizer of choice.