VirtualBox lets you boot and run other operating systems inside a program on your Mac.

Virtual Machines

If there are a few Windows applications you can't live without, you can have them on your Mac, by running them under a Virtual Machine Monitor (VMM). I use this feature to check that web pages look right in Microsoft Internet Explorer as well as Firefox, and to run applications that configure an uninterruptable power supply and a print server.

There are four VMMs that run under MacOS: Parallels, VMWare Fusion, VirtualBox, and Microsoft Virtual PC. I have tried the first three. All can be made to work. It is possible to encounter problems with any of them. I do not need many features from a VMM, and VirtualBox is free, and does not include ads, so that's the one I am using now. (I have good friends who used to work at VMWare.)

A Virtual Machine Monitor, or hypervisor, runs as a program on a host operating system, OS X in this case. It provides an execution environment that can run a guest operating system, say Windows, so that the guest system thinks it has complete control of its own computer... but whenever the guest OS tries to do privileged operations, or access I/O devices, the VMM is invoked, and simulates the requested operation, and lets the guest program run again. (This kind of interposition goes way back: I first used it on CTSS in 1963, and I managed a CP/CMS system in 1969-73.)

VMMs can become very complex if they are required to provide high performance or emulate complicated sharing of resources. They can simulate whole networks, or test new operating system versions, or make it appear that programs for another OS are regular Mac applications.

What I Use Virtual Machines For

I use virtual machines on my Mac in a very straightforward way, to run a few Windows-only programs without dedicating a computer to Windows. I'm not very concerned with performance, or tricky interactions. I don't try to run computer games that have demanding video, network, and performance requirements. The thing I'm most concerned with is minimizing trouble, and having the VMM work when wanted, and not be broken by OS updates.

In order to do these operations, I need to be able to connect the VM to the Internet, and to move files between the Mac file system and the VM's simulated file system.


I downloaded VirtualBox from and installed it. I then booted it up and created a VM for Windows XP, and installed and activated XP from a legal install disc, taking all default options, as described below. I did this twice: in one VM, I did not upgrade MSIE from version 6. So I have one Windows VM that runs MSIE 8, and one that runs MSIE 6, for checking web pages. On the MSIE 8 version, I loaded in the few other Windows-only programs I need, and all the Microsoft fixes available.

I installed the "Guest Additons" into each copy of Windows XP. This package supports better mouse integration, resizing of the VM window, shared folders between host and guest, and shared clipboard between host and guest.

It works fine. There is no ability (with VirtualBox 4.1) to drag and drop files between the Mac Finder and the virtual machine; moving files into or out of Windows requires use of the shared folder.

I do minimal tailoring of the Windows installation to eliminate annoyances. I turn off the startup music, show full paths and suffixes in folders, and disable the trash warning. I install Firefox, Emacs, and Stuffit Expander (because native Windows has trouble expanding ZIP files).

Creating a new Windows Virtual Machine and Loading XP

Took several hours, mostly due to repeated Windows updates.

  1. Start VirtualBox, click New, create a virtual machine with 382K of memory and 10GB expandable hard drive.
  2. Insert Windows XP disk in Mac's CD drive.
  3. In Machine ► Settings ► Storage ► IDE Controller, click on an item named "Empty" with a CD icon. On the right side, it will say CD/DVD Drive IDE Secondary and show a CD icon. Click the icon and choose Host Drive ... and then click OK.
  4. Click Start. The virtual machine should boot from the CD.
  5. If you are using a Windows XP Upgrade disk, the installer will ask you to insert your Windows 98 disk. In the Mac menu bar, choose Devices ► CD/DVD Devices ► Remove disk from virtual drive. Then click outside VirtualBox, and then eject the disc with the Mac's eject key. Insert the Win98 disc, hit ENTER, and VirtualBox should let the installer read it. The installer will then ask to swap discs back to the XP install disc, repeat the process.
  6. Type in the product key and register with Microsoft as usual.
  7. Windows XP will boot. On the Mac menu bar, select Devices ► Install Guest Additions, and reboot.
  8. In Windows XP, right click on desktop and select Properties ► Settings ► 1024x768.
  9. In Windows XP, select Start ► Control Panel ► Sounds ► Sounds ► Sounds ► No sounds.
  10. In Windows XP, launch MSIE and set inital page to blank.
  11. In Windows XP, turn off automatic software updates.
  12. In VirtualBox, clone the VM at this point in order to preserve a raw XP with no updates and IE6.
  13. In VirtualBox, Start the original VM and bring it up to date.
  14. In Windows XP, on Start menu, select Windows Update, install ActiveX control, install Installer, restart
  15. In Windows XP, on Start menu, select Windows Update, install SP3, restart
  16. In Windows XP, on Start menu, select Windows Update, install 109 updates including IE8, restart
  17. In Windows XP, on Start menu, select Windows Update, install 4 more, restart
  18. In VirtualBox, set up a shared folder so Windows can read Mac files

To shut down, use the Start Button in XP and choose Turn Off Computer.

OS X under OS X

Suppose you want to install OS X in a virtual machine. With this arrangement, you could use a virtual machine running Snow Leopard, with its Rosetta support for PowerPC code, on an OS X Mountain Lion host for everyday use. Apple has a rule against running OS X Snow Leopard Client in a VM: the legal way to do this is to use Snow Leopard Server. You can buy a copy of Snow Leopard Server from Apple for $20.

When I tried installing Snow Leopard Server on VirtualBox 4.2.12, I had trouble. I encountered hangs and kernel panics. I uninstalled VirtualBox and installed an older version, 4.1.26. Snow Leopard Server installed just fine on that version.

Things I Have Not Tried Yet

I have not tried printing from inside Windows; see I think I would have to add the Windows option Print Services for Unix (needs the software CD), then add my local network printer as an LPD port, and then install the driver for my printer.

Home | FAQ © 2010-2023, Tom Van Vleck updated 2023-11-08 08:27