Apple last week released a public beta of Boot Camp, which enables owners of Intel-based Macs to install Windows XP on a separate partition. Mac users and the press went crazy about the possibilities, which we cover in detail in this issue: Adam looks at Boot Camp and some of its implications, while Robert Movin returns to discuss virtualization, or running Windows within Mac OS X. Also in this issue, Matt Neuburg raises a sign for Pacifist, and we point you to several fun articles about Apple’s 30th anniversary.
Macworld on Apple’s 30th Anniversary — Our friends at Macworld have been busy with features celebrating Apple’s 30th anniversary, and two of our favorites were their look at Apple’s 30 most significant products and a hilarious timeline of important events in Apple’s history by John Moltz of Crazy Apple Rumors. If you’ve started paying attention to Apple only recently, these two articles will give you a grounding in some of Apple’s more distant past, and for those of who have been around for many of these years, reading the articles is a nice trip down memory lane. [ACE]
If I had to name one utility no Mac OS X power user should be without, it would be Charles Srstka’s Pacifist. Well, okay , it might be Alsoft’s DiskWarrior. But then Pacifist would certainly come in second! In simple horse-race terms, counting the number of times each program has rescued me in a tight spot, it would be a photo finish.
In simple terms, Pacifist lets you look inside .pkg files. A .pkg file is the sort of thing you double-click to start up the Installer utility; in fact, you might well think of it as being, itself, an installer. The trouble with such installers is that you may not know what they will put where, or you may not be given enough choice about which of its contents you want installed. With Pacifist, you can browse a .pkg file as if it were a folder; you can see its contents, learn a lot about what it proposes to put where, and extract individual files.
To give a practical example, just last week I saw a note on a Usenet newsgroup from someone who had somehow damaged his copy of iMovie. Following advice from other readers, he found iMovie inside a .pkg file on one of his system installer disks, and was easily able to extract it to his hard disk without running the installer.
Pacifist can also read Receipt files (lists of what was installed where, left on your computer by the Installer), and thus can verify that things are properly installed, with correct permissions and so forth. A nice use of this feature is Pacifist’s capability to tell you where your .kext files came from (choose Display Kernel Extension Report from the Pacifist menu). A .kext file is a kernel extension; these files are crucial because they modify the operation of Mac OS X at a low level, so a buggy one can cause things to go mysteriously wrong. In this way, I see instantly that I have just two .kext files that weren’t installed by Apple, and I know what both of them are for, so all is well.
What has always most struck me about Pacifist is its generosity. It does something difficult and technical and makes it easy and safe, along with a crystal-clear interface. Despite all the work that must have gone into writing and testing and maintaining it, Pacifist 2.0 is still just $20, and is true shareware: if you don’t pay the fee, the only penalty is a nag screen at startup. This new version, besides fixing some bugs, adds full Tiger and Intel support, and allows reading of additional file formats (including .dmg). For registered owners of an earlier version, this upgrade is free.
No, it’s not April 1st, but yes, Apple Computer has just released a public beta of their Boot Camp software, which enables users of Intel-based Macs to install and run Windows XP. (Lest you see this as a sign of the apocalypse, remember that Apple sold DOS cards for Macs in the distant past to enable them to run PC software.) If you want to install Boot Camp and Windows XP, you won’t need to mess with your Mac data at all, though you will need sufficient disk space for a Windows XP partition.
Boot Camp technology will be a feature of Mac OS X 10.5 Leopard, perhaps under a different name, but for now, you can use this beta to create a dual-boot system, switching between Mac OS X and Windows XP by holding down the Option key at startup and selecting the appropriate partition. The startup choice can also be set through a modified Startup Disk preference pane that Boot Camp installs, as well as a new Control Panel found in Windows XP after Boot Camp installs drivers and extensions.
Clever hackers had already managed to get Windows XP booting on Intel-based Macs – and won nearly $14,000 in private money by figuring it out – but the process is much harder than what Apple developed. Boot Camp provides a graphical assistant that walks the user through creating a second partition for Windows, burning a CD with the required Windows drivers (for your Mac’s graphics card, wired and wireless networking, audio, Bluetooth, keyboard Eject button, and Brightness control for built-in displays), and installing Windows from the Windows XP installation CD.
Take special note of the partitioning process: You don’t need to back up all the data on your hard disk, reformat the disk, repartition it with appropriately formatted Mac and Windows partitions, and then install Boot Camp. Rather, you simply use the Boot Camp software to create a dynamic logical partition that appears as valid as any previous statically created partition. This is possible only under Mac OS X systems using Intel Core processors using what Apple describes as a GUID Partition Table (GPT) using journaled HFS+ as the filesystem option. Our colleague Dan Frakes noted that "resizeVolume" is now an option for the command line diskutil Unix utility that’s part of the Mac OS X 10.4.6 update. Diskutil mirrors the graphical Disk Utility application for most features. In an interview with TidBITS Contributing Editor Glenn Fleishman, Apple product managers wouldn’t provide additional detail on this dynamic partitioning, but confirmed that it was new.
Your Mac volumes can be seen by the Windows system and vice-versa. For Windows partitions, you can choose to create either an old-style FAT32 volume, which can’t create files larger than 4 GB, or new-style NTFS volume. NTFS has fairly sophisticated capabilities, including journaling – keeping a running record of changes to a volume that can be recovered even after a crash, just as newer versions of Linux, Unix, and Mac OS X 10.3 and later. But only the uglier FAT32 format can be read and written under Mac OS X natively; NTFS volumes mount read-only.
Mac volumes under Windows appear only if you install third-party software, such as MacDrive 6, which the company has already tested and found perfectly good performance with a Boot Camp installation.
Although Boot Camp’s dual-boot capability is a first step, virtualization (running Windows within a window, or even running a Windows application as if it were just another program, in the way that Classic runs Mac OS 9 applications) would seem a much more desirable goal, since you wouldn’t have to leave Mac OS X to run a Windows application. Virtualization also promises speeds comparable to native operation with the safety of running Windows in its own cage that can be restored to a base point – as in Microsoft’s Virtual PC – more easily than a separately bootable Windows partition. Along with the open source Q project, at least three firms are working on virtualization software, including Parallels (whose public beta was released last week) and two others that aren’t yet public with their plans. Microsoft may also update Virtual PC for Macintosh, but currently the company has not released any information on its plans. See "WinOnMac Smackdown: Dual-Boot versus Virtualization" later in this issue for a comparison of dual-boot and virtualization options available today.
Virtualization may be further than Apple is willing to go, though, given that it could conceivably make developing software for Mac OS X less attractive than writing for Windows, which would then be a least common denominator. In particular, game developers would be unlikely to port their games to Mac OS X if there was no downside to writing only for Windows; the companies that would be hurt would be those that actually create the ported versions. I can’t see users having any problem running games in Windows given that most games have their own custom interfaces anyway; it’s not like anyone would notice if a game running in Mac OS X was really a Windows application as long as its performance didn’t suffer. That said, I could easily imagine Boot Camp being built into Leopard in such a way that you could switch between Mac OS X and Windows XP much the way Fast User Switching works now.
To run Boot Camp, you need an Intel-based iMac, Mac mini, or a MacBook Pro with the latest firmware updates; Mac OS X 10.4.6; at least 10 GB of hard disk space; a blank recordable CD; a printer (Apple says about the setup instructions, "You’ll want to print them before installing Windows, really."); and a bona fide installation disc for Microsoft Windows XP, Service Pack 2, Home Edition or Professional (multi-disc, upgrade, and Media Center versions won’t work). A full copy of Windows XP Home Edition runs nearly $200; Professional, nearly $300. Apple is explicit about how it does not sell or support Windows, and thus you’ll not only need your own copy, it’s up to you to make sure it’s appropriately patched and protected against the panoply of Windows malware. That means installing a robust firewall, anti-virus software, and anti-spyware software. We recommend Zone Alarm by Zone Labs for some of those functions; the company sells a bundle that includes components it doesn’t make itself. Google also provides Google Pack, a collection of helpful free software for Windows that Mac users interested in playing with Windows might use as a starting point.
Interestingly, the license for Boot Camp is good until 30-Sep-07, so we can be pretty sure that Leopard will be out before then. The license also says that you’re allowed to use Boot Camp purely for evaluation purposes and – amusingly – that it "does not permit the Apple Software to be used in a commercial operating environment where it may be relied upon to perform in the same manner as a final-release commercial-grade product or with data that is not sufficiently and regularly backed up." So what’s Apple going to do, sue you if you happen to use Boot Camp in a "commercial operating environment"? You’d be dumb to rely on public beta software in such a situation (and it’s perfectly reasonable for a license to warn you that you’re using the software at your own risk), but methinks Apple’s lawyers were a bit overzealous during some of the writing. But whatever you do, be sure not to use Boot Camp to run your nuclear reactor, airplane navigation system, air traffic control system, or life support machine – the license is clear about how Apple doesn’t intend Boot Camp to be used anywhere where a bug could cause death, injury, or severe physical or environmental damage. Playing Solitaire is probably okay, and Outlook will likely cause only the mental part of environmental damage.
Lastly, on our staff mailing list, Apple’s choice of the name "Boot Camp" prompted Geoff Duncan to riff on the notion of a stereotypical Army drill sergeant addressing a fresh crop of Windows switchers. We couldn’t resist sharing. Enjoy!
"Think you’re good enough for this computer, MAGGOTS? You are NOT! Did you HEAR me? You are NOT good enough for this computer. The only way – and I repeat, the ONLY way – you simpering short-haired pencil necks will be good enough is if every REAL computer user on this planet were abducted by aliens!
"WHAT?! You think that’s FUNNY, Windows-boy? When I WANT you to laugh, I’ll make a cute sound!
"Now then, since you WORMS are all we’ve GOT – " (Paces the line.) "What does Control-Alt-Delete do?"
THERE IS NO ALT KEY, SIR!
"I can’t HEEEAR you!"
THERE IS NO ALT KEY, SIR!
"Where is the menu bar?"
TOP OF THE SCREEN, SIR!
"What are computers for?"
BUYING MUSIC, SIR!
Back in the days of yore when I wrote "From iPod to MacBook Pro: A Switcher’s Tale" (you know, a month ago) I described how my primary personal justification for investing in a MacBook Pro was the possibility of eventually running Windows on my Mac desktop. I’d be able to work in the wonders of Mac OS X while still being able to access my corporate applications keeping me chained to Windows. I even predicted (boldly, some readers said), that it would be only a matter of months before we saw Windows on Macs.
I was wrong. It was only a matter of weeks.
Since my earlier article there’s been significant progress in the field of running Windows on Intel-based Macs. Around the same time, a pair of hackers won nearly $14,000 for producing a repeatable method of dual-booting Windows on a Mac, and a universal binary version of Q emulation software appeared, enabling users to run Windows and Unix variations in emulation windows on the Mac desktop. Then, before the ink was dry on that $14,000 check, Apple released the Boot Camp beta version for official dual booting (see "Apple Opens Boot Camp for Windows Users" earlier in this issue).
It seems obvious that much more emphasis is focused on enabling dual booting over virtualization. Apple considered it important enough to dedicate resources to it and to release beta software while over 850 companies and individuals donated hard cash to the effort. But I see dual booting Windows on a Mac as merely a temporary solution, one that will fade to minor importance as we get full virtualization running in a hypervisor environment on Macs. Instead of exiting Mac OS X, rebooting and loading Windows XP (which will take longer than the current 23 seconds to boot Mac OS X on my MacBook Pro), running whatever application you need and then shutting down and transitioning back, you’ll be able to run an instance of Windows XP within a window in Mac OS X, with very little performance degradation and support for nearly everything you need. Heck, I’m running a slightly crippled version of that exact scenario right now! But before we pit dual booting and virtualization in mortal combat, it’s important to understand what virtualization and emulation are, what obstacles they face, and the potential long-term benefits.
Defining Our Terms — In short, a "hypervisor" is virtualization software that makes it possible to run multiple operating systems on a host computer. It does this by emulating a hardware environment for the guest operating system to run in, and we call this a "virtual machine." True hypervisors layer themselves between the host operating system and the physical hardware to maximize performance by minimizing any layers between the virtual machine and the hardware underneath.
Now for the long version. "Virtualization" is a bit of a loaded term with a number of potential meanings, so we need to narrow the field down a bit. For the purposes of this article I’m going to focus on virtual machines and application virtualization, and I apologize in advance for grossly oversimplifying. Whenever you abstract something, which means having some bit of code pretend to be a piece of hardware, it’s a form of virtualization. In fact, you’re already using quite a bit of virtualization technology on a modern Macintosh. Virtual memory is perhaps the most obvious use of virtualization – it uses space on the hard disk to simulate RAM. Multiple partitions on a single physical hard drive, disk images, a single partition spanning multiple physical drives (like a RAID) and even your iDisk are all virtual disks. The Java programming language is built on the concept of programming applications to run in a Java virtual machine – a software environment abstracted from the physical hardware of a system. Even those nice Flash animations use application virtualization.
"Emulation" is closely related to virtualization. With emulation we use software to emulate the response of incompatible hardware. The most well-known example of this is of course Virtual PC, which enables a PowerPC-based Mac to run Windows software by emulating the x86 hardware. Rosetta is also emulation software – when a PowerPC application runs on an Intel-based Mac, the Rosetta code translates instructions for a PowerPC processor into instructions for an x86 processor, then translates the results back to the application. That’s why PowerPC applications run slower in Rosetta – every instruction to the CPU must be translated in both directions. Another, more entertaining example of emulation is MAME (Multiple Arcade Machine Emulator), which is software that emulates arcade games and gaming consoles so you can play old arcade games on your computers.
But the most exciting area of virtualization (and emulation) today is virtual machines and hypervisors. This time we’re not talking about the limited application environment of a Java virtual machine, but running a complete host operating system within another operating system. The most famous examples of this are VMWare, Virtual PC for Windows, QEMU, and Xen. Each operates a bit differently, but all essentially create a virtual machine into which you can install a different operating system, regardless of the host hardware and operating system (as long as it’s supported).
We call the software that manages this process a "virtual machine manager" or "hypervisor," the system running the virtual machine the "host operating system," and the system running inside the virtual machine the "guest operating system." Thus we create a virtual machine by emulating the hardware needed for the guest (that’s what hypervisor software does). This leads to some interesting results. One of the best results is that virtual machines are portable, since they aren’t tied to the host hardware. I have a couple of Windows XP virtual machines in various stages of patches that I move from computer to computer merely by copying the image file over. In an enterprise environment this means you can have highly portable standard images, which is nifty if you manage a lot of servers. We can also run multiple virtual machines at the same time on a single system, in some cases emulating entire networks with workstations and servers. I’ve run up to three virtual machines in VMWare on my Dell Pentium 4 2.4 GHz computer and the biggest limitation is memory.
Of course, that’s not the case with Virtual PC on a Mac, where Windows performance is, frankly, mediocre at best. The performance problems stem from having to emulate the x86 processor architecture on top of Mac OS X while running a virtual machine. We’re talking multiple layers of translation here and a layer of emulation across two operating systems and different hardware, which is not the best combination for good performance. But those of you who may have also run VMWare, Xen, or QEMU on x86 probably noticed much better virtual machine performance. That’s because those tools play tricks to minimize the translations needed and allow processor commands more direct access to the hardware underneath.
VMWare tends to pass CPU calls directly to the processor while emulating the rest of the hardware environment (video, peripherals, etc.) that might change from system to system. Thus we eliminate much of the translation (and some of the emulation) needed and our guest operating system runs at near-native performance. These benefits don’t translate for system components that are fully emulated, like video cards, so VMWare is more suited for business applications than the latest version of Unreal Tournament. Whereas VMWare is commercial software dedicated to the x86 architecture, QEMU is open source and capable of emulating and running on a few major hardware platforms, including PowerPC-based Macs. In some cases, and now we’re back to x86, programmers developed accelerators similar to VMWare to speed up performance by skipping some of the translation. Xen, another open source virtualization tool, takes it a step further and relies on highly optimized guest operating systems to achieve essentially native performance.
Into the Ring — Back to the smackdown. Now that Macs run on Intel x86 processors we have two options for running Windows. We can dual-boot the machine and just run Windows natively, or we can run Windows in a virtual machine that’s running in Mac OS X. Each has advantages and disadvantages, but my preference is virtualization, and I have it running today.
My goal is to use my MacBook Pro as my primary system when I travel, which means running just a few Windows applications, including our corporate VPN, corporate dial up networking, and Outlook (I need to keep my .pst files, so Entourage isn’t an option). I’d rather run this within Mac OS X if possible, but dual booting will at least buy me time. I first looked into the dual-boot process published by OnMac.net, but it was pretty labor-intensive and prone to error. I figured I could always come back to it if necessary.
Luckily, Apple’s public beta of Boot Camp is an official, user-friendly, dual-boot installer and manager. As many of you know by now, the Intel-based Macs use EFI (Extensible Firmware Interface) instead of BIOS (Basic Input/Output System) for the firmware, but EFI works only with Mac OS X for now (Windows Vista will support EFI too). Thus, creating a dual-boot Mac is not as simple as installing Windows and Linux on the same PC; we need some sort of emulator to pretend to be BIOS and allow the operating system to load. Boot Camp seems to do that seamlessly along with repartitioning your hard disk on the fly and creating a CD of drivers for all the nifty Mac hardware that’s not yet supported in Windows. Simple, easy, reliable, and not all that interesting for me personally, especially since none of my half-dozen Windows XP install CDs meet the Service Pack 2 requirement. (If you’re in the same situation, it is possible to build a Windows XP SP2 installation CD from the original XP CD and the downloaded service pack, assuming you have access to a Windows machine and some technical chops.)
So I decided to move on to virtualization. The open source QEMU can now run on either PowerPC- or Intel-based Macs, and there is a wonderful Mac OS X port of QEMU called Q, with all sorts of Aqua goodness. QEMU on a PowerPC-based Mac suffers from the same performance limitations as Virtual PC but theoretically could be enhanced on the Intel Core Duo Macs for greater performance.
My initial attempts at using Q gave mixed results. I downloaded and installed Q as instructed. First, you’re supposed to create a disk image to install your new operating system. Then you have to launch the virtual machine and tell it to boot off your installation CD, just like installing on real hardware. I inserted my old Windows XP Service Pack 1 CD into the MacBook Pro, launched Q, configured it to boot on the local CD-ROM drive and… nothing. Reading the support forums confirmed that I was doing everything exactly right. So I tried creating a disk image of the Windows install CD and using that instead and… nothing again. Frustrated to no end, I tried a good old fashioned reboot, launched Q again, and it all just worked. I was up and running and the install process was no different than any other time I installed Windows, although it slogged like using an old 386 processor instead of a Core Duo. The install completed normally, I switched Q to boot off the virtual hard drive instead of the system CD, and there it was – the Windows login screen on my Mac desktop.
The first thing I tried to do was install our corporate VPN client (like many businesses we don’t use standard IPsec for manageability and security reasons). This is the single most important step to meet my goal of shelving my corporate PC. Unfortunately, I encountered a fatal memory error that wouldn’t disappear after multiple reboots. Upgrading to Service Pack 2 didn’t help, nor did creating a Windows XP virtual machine in QEMU on my PC (in fact, the version running on my PC crashed even harder when trying to run the VPN client).
Without our corporate VPN client, my Q experiment was essentially a failure, though I went on to install Microsoft Office and test Outlook. Everything worked fine, if slowly. I could transfer files between Mac OS X and Windows easily with a shared folder, access the Internet, and install software – just not all software. I’ve used a fair number of virtualization packages and while Q is slow, it’s usable in a pinch. Barely. That will change, of course. A group of QEMU programmers are feverishly working away at kernel extensions to provide the Mac version with the same speed benefits as running on Windows.
But last week saw more than just Boot Camp, since Q was joined by another virtualization program, this time from Parallels Software. The public beta of Parallels Workstation 2.1 for Mac OS X promises near-native performance for any version of Windows (not just XP), any Linux distribution, FreeBSD, Solaris, OS/2, eComStation, or even MS-DOS.
I have now completed installation and testing of Parallels Workstation with a Windows XP virtual machine. I’m happy to say that with it, virtualization is real, – and really fast – on Intel-based Macs today. Parallels Workstation installed without a hitch, and I quickly created a Windows XP virtual machine. I was able to patch it to Service Pack 2, and it accepted my corporate VPN. I’m now happily connected and running Outlook as if I was on the corporate network. And did I mention that it’s fast? Taking advantage of Intel’s Virtualization Technology results in extremely solid performance that’s faster than VMWare on my PC and possibly faster than my work PC. While I haven’t tested advanced graphics yet, I think it’s safe to say that thanks to Parallels, we have full virtualization on the Mac with better performance than some PC solutions. Heck, I’ve even already filled up my virtual hard drive with the Windows software I need to use on a regular basis.
Pick Your Poison — For those of you thinking of running Windows on your Intel Mac, here’s a rundown of your options with my personal recommendations.
If you are interested in gaming or other high performance software, or need immediate full support of Windows, go with Apple’s Boot Camp. You’ll need to reboot to switch between Mac and Windows, but it works and will always be the best option if you need to push every bit of performance out of that video card.
For those of you, like me, that just need a few Windows applications to get your job done and don’t feel like rebooting, virtualization is the way to go. Parallels seems rock solid, but if you want open source, Q should offer respectable performance in the near future. I expect to see additional offerings from VMWare, Microsoft, and possibly even Apple down the road.
What does the future hold? While virtualization is here today, it’s not inconceivable that we could see Rosetta for Windows on a Mac in the more distant future. This would mean that instead of running Windows inside a window, you could run an individual Windows application much as you do with Classic applications on PowerPC-based Macs today.
I don’t see this as a priority for Apple, but there are no technical reasons why it shouldn’t be possible. It’s a difficult problem, and I’m not sure it makes business sense for Apple, but it’s been done to a certain degree already on Linux with the WINE project (which isn’t emulation, but implementation of Windows APIs).
One thing is certain: Windows and Macs are much closer than they were a few months ago. And maybe, just maybe, we Mac types will be able to use our favorite computers at work without battling corporate IT.
The first link for each thread description points to the traditional TidBITS Talk interface; the second link points to the same discussion on our Web Crossing server, which provides a different look and which may be faster.
Whither Eudora? News on development of the Eudora email application has been pretty quiet lately. Is it time to switch to Apple’s Mail? (3 messages)
Rough numbers of Mac users — How many are we? And where do you go to find this sort of information? (8 messages)
Comparing Business Card Design Software — Joe Kissell’s article comparing Business Card Composer and SOHO Business Cards yields readers’ experiences, plus an inexpensive method of avoiding smudges on home-printed cards. (9 messages)
Where does iWeb save its files? Apple’s Web design component of iLife ’06 doesn’t make it easy to locate your files in the Finder, as a reader discovers when trying to combine two sites. (4 messages)
RSA Anti-phishing — Readers debate a proposed method of trying to stop phishing scams. (6 messages)
Boot Camp enables Windows XP dual-boot — Last week’s release of the Boot Camp beta prompts plenty of discussion. (34 messages)
Windows via virtualization — Readers theorize about whether Apple’s next move after Boot Camp is being able to run Windows within Mac OS X (see elsewhere in this issue for much more information). (20 messages)
Apple Just Saved Me $1000 — Jeff Carlson’s ExtraBITS post brings some focus on the importance of industrial design to Apple’s success. (2 messages)
Crossing platforms with PowerPoint — Tips on making PowerPoint presentations work under both Windows and Mac OS X. (1 message)
On partition wrangling — Boot Camp can dynamically partition a hard drive without requiring that you erase and reinstall the operating system, but can you go in the other direction to combine multiple partitions into one? (2 messages)