2006 has certainly been an
interesting year for Apple fans. The latest flurry of activity surrounds Boot
Camp, a tool from Apple
that will allow you to install and run Windows XP alongside OS X on an Intel-based
Mac in a dual-boot configuration.
A Google search of "apple boot camp"
turns thousands of articles, reviews, opinion pieces and more. Rather than rehash
what has been done before, I'd like to simply provide a quick summary of the options
and possibilities available to owners of an Intel-based Mac. I'm going to try to
stay away from the "why" of running Windows on Apple Hardware and instead
try to paint a clear picture of what is possible now, what should be possible in
the near future and what will probably never happen.
A common note in many of the articles found concerning running Windows on Mac hardware
is the distinction between the two ways that Windows can be run on the Mac (as of
today or the near future). One way (offered by Boot Camp) is a dual-boot scenario,
where the hard drive is separated into two partitions, one for OS X and one for XP.
At boot time, the user can hold down the option key and select which OS to boot.
The computer loads the selected OS and it runs natively and has full control of
the hardware. To switch, the user must reboot and select the other operating system.
The other way to run Windows on Intel-based Apple hardware is through "Virtualization".
Virtualization is a term that describes technologies that allow one operating system
to run inside or on top of another. Basically, the virtualization software provides
virtual hardware for a hosted operating system to talk to. The hosted OS thinks
it is in complete control of the hardware, when in fact, its control is routed through
the host OS just like any other software process. At present there are no released
virtualization packages for Intel-based Macs, but Parallels, Inc.
has one available as a public beta and many believe Microsoft will release the next
version of VirtualPC
with support for Intel-based Macs.
When running an OS under virtualization, the user can run applications in both the
host and the hosted OS, switch between them, and, depending on the features offered
by the virtualization package, even copy and paste between them. However, because
it doesn't have full control of the hardware, the hosted OS doesn't run at full speed
as it would if run in a dual-boot configuration. It should be noted that the performance
hit from running Windows under virtualization on OS X running on Intel-based hardware
will be much less significant than the performance hit of running Windows on a PowerPC
machine using emulation software like the current version of VirtualPC. That is
because emulation software must pretend to be a different type of system and translate
instructions from Intel format to PowerPC format. Virtualization software for OS
X on Intel will simply need to serve as a go-between without the translation requirement.
I have heard at least one Mac owner express the desire to natively boot both OS X
and Windows simultaneously with the ability to switch or toggle between them on the
fly.
It's unlikely that such a solution will ever be a reality. Even with windows on
a PC, you can't have two different versions booted simultaneously to toggle between
on one machine unless you use virtualization technology similar to what Parallels
is offering. This is because one OS needs to be able to manage the whole set of
hardware: CPU, Memory, USB, etc. If you wanted to run two operating systems, you
would still need a layer of software managing access to the hardware and then neither
OS would be running truly "native".
Looking forward, the solutions appear to be an either-or choice. Either you dual
boot and have one OS running natively at a time, or you use virtualization and run
one OS inside the other.
Personally, I'm leaning toward virtualization for my Intel Mac Mini because you can
switch between OS X and Windows applications almost as easily as if they were all
running under one OS. Also, you should be able to run both operating systems so
they fill the screen when active, if desired and the ability to do nifty things like
copy and paste between them means that you have the convenience of both operating
systems without the hassle of constantly rebooting. A dual-boot solution like Boot
Camp means, of course, that if you want to use the other system, you have to reboot
and wait several minutes for it to come up.
It is conceivable that some sort of hybrid solution may arise (and some have speculated
that Apple is heading that direction with Boot Camp, although Apple has reportedly
denied it). That is, you would create an XP partition on your hard drive and could
then either boot to it natively, or you could run it with virtualization technology
from within OS X. This would probably be the best of both worlds: boot natively
when you need performance (like when playing games), otherwise run in virtualization
when you need convenience. The main problem would probably be drivers (since some
virtualization software requires the hosted OS to use special virtual drivers rather
than the real hardware drivers), which could confuse Windows on switching from a
native boot to a boot within the virtual system or vice versa. Fortunately, the
driver issue should not be an intractable problem.
If you do decide to run both OS X and Windows on an Intel-based Mac, whether with
Boot Camp or using virtualization, you will need to think long and hard about hard
drive access between them, just as with any computer loaded with two operating systems.
While being able to read data from one OS's partition in the other is convenient,
there are potential drawbacks. Say you're booted into Windows XP and that XP has
write access to the Mac part of the hard drive. If XP gets hacked or catches a virus,
all your Mac data is vulnerable. However, if XP has no access or read-only access
to the Mac partition, then even if XP gets damaged, your OS X installation should
be fine (although, with read-only access, a virus or spyware program could still
read personal data stored on the Mac partition). Users should also be aware that
hard drive access between OS X and Windows XP is not a slam dunk. OS X prefers HFS+
partitions, while Windows XP prefers NTFS partitions and neither OS provides full
access to the other's preferred partition type. See this excellent ArsTechnica article on Boot Camp for their experience with Boot Camp,
which includes more information on cross-platform hard drive access.
In any case, simply having the option to run both Windows and Mac software on one
computer at full or nearly full speed is certainly an attractive one and I am eagerly
anticipating trying it out.
Dan Schneider
Software Engineer