VirtualBox: A Free, Open Source Way to Run Windows and Linux on Your Intel Mac
- 2007.07.27 - Tip Jar
Virtualization is a hot topic amongst computer users; it's getting a lot of interest from IT departments wanting to be able to run multiple servers on a single piece of hardware. In particular, this lets them run older software, such as applications designed for Microsoft's no-longer-supported Windows NT 4.0 Server, without having to keep an old computer in operation.
Software developers and Web designers are able to test their creations on multiple platforms without having to actually have dedicated Windows, Linux, and Mac computers sitting on their desktops.
Virtualization has been particularly of interest to Mac users; it allows them to run individual Windows applications (like Microsoft Access database) that lack Mac equivalents or to connect to Internet Explorer-only websites if necessary without having to hunt down a Windows PC. Apple's move to Intel-powered Macs has resulted in newer and better ways to run Windows, Linux, and other PC operating systems and software in virtual sessions on Macs.
Virtualization on the Mac
Parallels Desktop, now in version 3.0, is the best known and most widely used of this new generation of Mac virtualization products. VMware, long a leader in virtualization software for Windows and Linux is nearing the release of Fusion, its first product for the Mac. Competition has pushed both of these US$79 products to improve performance and increase features and ease of use.
But these two commercial products aren't the only options for creating and running virtual computers on your Intel Mac. In January 2007, InnoTek released VirtualBox as a professional-level virtualization program that's available as open source software under the GNU Public License (GPL). As open source software, any interested can download, examine, and alter the source code. While corporate users are expected to buy licenses, it can be freely used by anyone for evaluation or personal use.
VirtualBox is available in versions for Windows, Mac OS X (Intel), a growing number of Linux distributions, and other so-called host operating systems. I installed it onto a computer running Ubuntu Linux and onto an OS X-powered iMac. Note that while the current version 1.40 is an official release version for Windows and Linux, at the time of writing the Mac version is still in beta. (And, like Parallels and VMWare Fusion, it's only usable on Intel-powered Macs).
The VirtualBox Mac installer notes the following beta issues:
"Currently, we are aware of the following issues:
- No support for Host Interface Networking
- No support for Internal Networking
- No support for audio input
- No support for VT-x/AMD-V (rarely required)
- No support for raw disk access
- On OS X 10.4.10, USB memory devices cannot be assigned to a VM
- The NumLock emulation isn't implemented yet
- The VirtualBox kernel extension is currently accessible from all user accounts
"Note that we are planning to address all known issues."
Since all these virtualization products end up doing the same thing - installing a 'Guest' operating system that runs on top of a 'Host' operating system - it's not surprising that they are similar to one another. Having worked with Parallels Desktop and VMware, along with older emulation software for PowerPC Macs like Virtual PC and Guest PC, getting VirtualBox up and running seemed pretty familiar. Users are walked through the process of creating a new virtual system with a relatively user-friendly wizard.
Creating a new virtual machine.
Users are asked to pick their desired Guest operating system from a list. While relatively straightforward for Windows, this may confuse wannabe Linux users: Rather than listing supported Linux distributions (Ubuntu, Fedora, SuSE, etc.), it lists Linux kernel versions; how many of us know which kernel is used with, say Ubuntu 7.04 vs. Ubuntu 6.10? Since I was installing the latest Ubuntu release, I picked the latest kernel listed, crossed my fingers, and hoped for the best. It seemed to work.
Choose your OS.
Users can accept the default settings for RAM and hard drive size or easily alter them - I increased the default RAM sizes to 512 MB for both Windows 2000 and Ubuntu 7.04 Linux.
Set memory size.
Creating a virtual hard drive takes several steps, even if you're accepting the defaults. A nice feature - the default is to create a so-called dynamically installing drive image. With this, the virtual 8 GB drive I created for my Ubuntu Linux system won't automatically require that much space on my Mac's hard drive - instead, it only takes up as much space as is actually required by the files on the virtual drive (at the moment, 2.68 GB).
Create a virtual hard drive.
Once these are configured in the wizard, just pop in the install CD for your desired guest operating system and click Start. (Advanced users, which I'm not, can create scripts to replace the Wizard).
Ready to go!
When you start up a virtual session for the first time, another wizard walks you through a few steps necessary to get the guest operating system installed. In particular, it checks whether you're installing from a 'real' CD or DVD in your computer's optical drive or whether you're using an image file. Most of us would probably be using a CD.
The First Run Wizard.
Once that's done, you're in business. Your guest operating system installer should load, and everything should run as normal, just as if you were installing onto a real, physical PC.
Ubuntu Linux booting from a CD.
The virtualized system includes virtual hardware for a network adapter, sound adapter, video display adapter, etc. A few things to note: The sound adapter is turned off be default; you can easily turn it on, but be sure to pick the Core Audio option - the Null Audio option leaves sound turned off.
Enable Core Audio.
The display adapter uses 8 MB of RAM for video by default. While both Parallels and VMware are working on adding DirectX support for Windows gaming, you won't find VirtualBox a gaming powerhouse - even if you increase the amount of RAM set for video. The default 8 MB gave me 32-bit graphics in a 1024 x 768 window, which was fine for me.
I haven't tested Windows Vista, but I suspect that regardless of the amount of video RAM set, it wouldn't support Vista's Aero graphics transparency and other eye candy.
As with sound, USB support is disabled by default; it too can be turned on giving access to USB printers, and more. (Note that 'USB Memory Devices' such as flash drives are not supported in the OS X Beta version I tested.)
Enable the USB Controller.
Just like Parallels and VMware virtual sessions, you're going to want to install "Additions" for improved functionality. Additions are included for Windows and Linux; they offer improved video and USB performance and smoothly integrate the mouse between the Mac and the guest desktop. (This can cause problems, and once installed it can be turned on or off - when this is not installed or turned off, users need to press the left Command key to get access to the mouse for the Mac.) The Additions can be installed from the program's Devices menu; once chosen, a CD image is loaded and appears as a drive, ready to run.
The Windows additions installed without a hitch in my test Windows 2000 guest OS. I had to do a bit of fussing to make the Linux additions install on my Ubuntu session, however. Double-clicking on the VBoxLinuxAdditions.run file tried to load it in a text editor rather than running the file. In the end, I copied the contents of the virtual CD to a new folder on my desktop, opened a Terminal session, moved to that folder, and from the command line typed:
Sudo sh ./VBoxLinuxAdditions.run
After prompting for my password, the Additions installer ran. (Linux gurus probably know more elegant ways to make this work).
Installing the Additions in Ubuntu Linux.
While the Parallels and VMware additions provide drag-and-drop between the guest OS desktop and the Mac desktop, VirtualBox lacks a similar feature. As well, the software promises the ability to set up Shared Folders - designated folders on the Mac that will appear as virtual drives on Windows or Linux virtual systems. The documentation tries to walk users through steps required to mount these virtual drives in Windows and Linux, but this needs to be made more automated. In any event, I couldn't get it to work - this seems to be what the beta warning quoted above meant by 'Internal Networking'. As a result, it wasn't as easy to move files between my Mac and my virtual sessions as it is using the commercial virtualization programs.
Performance seemed fine - as with Parallels and VMware, virtualized sessions running on an Intel Mac seem to work at nearly full speed . . . at least if you've got enough RAM to throw at them. I've got 2 GB of RAM on this iMac; that lets me share 512 MB of it with my virtualized PC operating systems.
If you already own a copy of Parallels Desktop, VirtualBox probably offers nothing new. But if you've got an Intel Mac and want to try out Windows, Linux, or some other PC operating system, this free and open source virtualization software can be a usable and attractive way to do it. It lacks some of the cutting-edge features of Parallels or VMware (such as Parallels' Coherence Mode or the ability to run a Boot Camp installation as a virtual session), yet it's an impressive piece of software. And the price is right!
Alan Zisman is Mac-using teacher and technology writer based in Vancouver, BC, Canada. Many of his articles are available on his website, www.zisman.ca. If you find Alan's articles helpful, please consider making a donation to his tip jar.
- Mac of the Day: Macintosh IIcx, introduced 1989.03.07. The first compact modular Mac, essentially a 3-slot Mac IIx, was a big hit.
- Support Low End Mac
Cult of Mac
Shrine of Apple
The Mac Observer
Accelerate Your Mac
The Vintage Mac Museum
Mac Driver Museum
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ