Although virtualisation and emulation technologies have been around for decades in the world of big iron mainframes, it’s only in the last year or so that virtualisation is starting to appear on desktop machines. The advantages are obvious. With a virtualisation shell you can multiboot OS X, Windows, Linux, other Unix variants, and even DOS all on the same machine. This has obvious curiosity value, but the practical applications shouldn’t be dismissed.
Commercial virtualisation products are well known, but an Open Source project called VirtualBox offers many of the same features for free. As this is an Open Source tool you can download the source code and customise it. This will be more of a theoretical than an actual benefit for most users, but it’s a useful extra plus point. Unlike BootCamp, which requires a reboot, VirtualBox can switch to a different operating system (OS) almost instantly. It can also save OS snapshots, so you can experiment with settings, quarantine difficult applications and create OS environments which are optimised for different work, such as coding and development, and web browsing. If the OS crashes, you can restart rather than rebooting. A virus can eat a virtual partition, but it can’t escape its virtual sandbox and destroy the rest of your disk space. Potentially, with more effort and coding skill, it’s possible to use a lean environment like Linux to create a customised email system and spam filter running in the background on your main Mac, without having to dedicate a different box to do the job. Current versions of VirtualBox aren’t ideal for this, but future versions will be. So there’s a lot more to virtualisation than being able to run Windows in a window – more interesting distributed applications will become popular and useful as the technology establishes itself.
The disadvantages are lower performance and a few lingering rough edges. USB support isn’t perfect and the NAT core which manages network connection isn’t completely bulletproof. Most obviously, you lose significant performance compared to native mode. VirtualBox running on any current or recent Mac is more than fast enough for browsing, email and basic office use, but won’t be a sensible choice for 3D animation or sound and video editing.
Installing VirtualBox is painless process. Start by visiting the VirtualBox website. You can read more about the current state of the project, and also link to the Downloads page. Downloads are currently hosted by Sun, which means that instead of a simple HTTP download you have the option of using Sun’s download manager. On the Mac, VirtualBox is delivered as an mpkg file. A double click and a few options install it into the Applications folder, where it runs as usual.
The installation process lists the supported OS types. For any of the hundreds of obscure Linux distros, choose the appropriate Linux kernel version
Setting up a new virtual OS takes a few simple steps. You’ll need either a copy of an installation CD, or an ISO disk image. VirtualBox can install from either. You’ll also require some disk space. For our example, we created a new GUID partition on a spare external drive using DiskUtility. There’s no reason not to use an internal drive if you have the space. VirtualBox disks are self-contained, so an OS running in VirtualBox believes that a partition which you’ve assigned to it is the entire available disk space.
Click on New in the Details box window and VirtualBox will ask you some simple questions, and require some basic settings. You’ll need to specify the amount of base memory you want to set aside. VirtualBox takes this from your Mac’s main memory, in the same way that any other application would. You’ll also need to specify the amount of video memory you need. The default 8MB is on the low side – 64MB or 128MB are more likely.
The next step is to pick an OS from the list of supported options. This includes all of the usual favourites as well as more exotic choices like OS/2 and Solaris. The standard desktop variants of Windows are included, but you can also run Windows Server 2003 and 2008, making it easy to virtualise professional server applications as it is desktop ones. It’s important to select the right OS from the drop down list which appears during installation – each OS has different interface requirements.
You should now have a new slot for your OS on the Details page, and it will be marked Powered Off. Select Start and the slot will start a virtual box. This doesn’t install the OS – it runs a boot sequence which looks for your specified boot source and then boots the new OS from that. By default the Left-Apple key can toggle between standard mouse and keyboard use, and captured mouse and keyboard use which routes your input to the OS window.
To install an OS, follow the usual steps. For our example, we installed Ubuntu from a burned CD. Ubuntu can boot from the CD, so it was easy to get a desktop up and running almost instantly. But we also ran a full install to create a disk-based boot system.
Once you have an OS installed, it’s easy to repeat the process and install a different OS into another slot. You’ll need another custom partition, but otherwise the process is identical. You can also install multiple versions of the same OS, or take and save snapshots with different settings using the Snapshots feature in the main window – VirtualBox includes a disk cloning utility which saves having to make another full installation. To control OS operation, look at the features under the Machine menu. This includes Pause, Reset and ACPI PowerDown options, and also a FullScreen option. Pause will stop the OS running and freeze its current state, Reset and PowerDown will perform a hard reset and a full power down respectively. You can also power down using the OS’s own power features.
There are other features to explore, including remote operation, command line control, file sharing and guest account creation. You can even access USB devices remotely via VirtualBox. There isn’t space to describe these more advanced features here – you’ll find details in the main user guide, which is available from the VirtualBox site.