Ever since Apple made the move from PowerPC processors to processors made by Intel, the possibility of running Windows on Mac hardware has loomed large. There is, of course, the dual-boot option using Boot Camp, but most of the buzz has been around two virtualization packages: Parallels Desktop for Mac and VMware Fusion.
The first question anyone asks me when I tell them about Parallels or Fusion is, “Does it really work?” The answer is an unconditional yes.
Both packages do what they promise, and they are solid performers. I wrote this review in Windows-native Office 2007 on my MacBook Pro — sometimes using Parallels and sometimes using Fusion. I’ve used both packages extensively for real work over the course of many months, and I don’t hesitate to recommend either one.
Virtualization won’t necessarily save you on software costs, but the ultimate benefit is being able to run OS X and Windows (not to mention other operating systems) without having to buy two computers. Thus, Parallels and Fusion can help take the sting out of the premium price of a Mac.
Naturally, to run Windows in either Parallels or Fusion, you’ll need to buy not only the virtualization software but Windows itself. Keep in mind that some Windows editions are not licensed to run in a virtual machine — notably Vista Home Edition — so you may need to buy a more expensive edition than you otherwise would.
Of course, if you already own the Windows software you want to run, then it’s even easier to become a Mac bigot. For example, the organization I work for has an enterprise license for Office on Windows, but not on OS X, so I can load Windows and Office using the enterprise license and get an Intel-native version of Word that runs on my Mac for a fraction of the cost of Word for OS X.
Similarly, if you’re switching from Windows to a Mac, buying a copy of QuickBooks for OS X will cost you $200 even though you already own a perfectly good copy for Windows. For the cost of Parallels or Fusion (both $79) you can run your Windows copy on your Mac.
The stated goal of Parallels as well as Fusion is to make life easy for people who want to run Windows on their Mac. Can you run Linux, Solaris, or even FreeBSD? Sure, but you’re not in the target demographic. Switchers who love the Mac experience but have “that one Windows” application they can’t live without are the sweet spot.
Making Windows easy is mostly about installing the OS. Most people have never installed Windows.
Creating a new Windows virtual machine is dead simple in either package. They ask for a few parameters, including the product key, and then take over from there. Having recently installed Windows XP on bare metal, I can tell you that using a virtual machine makes installation easier.
One of the unavoidable facts of virtualization — no matter which system you use — is that virtual machines need “guest OS tools” installed to cooperate with the host OS. This cooperation includes things as important as proper cut-and-paste behavior and file sharing.
One last note about installation: Make sure you turn off the screensaver in your guests. They use the CPU and don’t do you any good.
Both Parallels and Fusion have optional modes for fully integrating Windows applications into the OS X experience. Called Coherence in Parallels and Unity in Fusion, the integration hides the Windows desktop and displays Windows application windows side-by-side with those of OS X applications. In short, Windows apps weave into the OS X desktop as if they were native Mac applications.
Users who like the OS X experience and who plan to run multiple Windows applications will prefer Coherence or Fusion to the old way, which drops the entire Windows desktop into a single OS X window. In any case, switching between the two modes is easy.
Both Coherence and Unity work well with oddly shaped windows, and they display drop shadows on windows to mimic the OS X look and feel as closely as possible. Both Parallels and Fusion support OS X’s Exposé feature, so the VM windows will appear in Exposé tile and thumbnail displays, and you can dock Windows applications for launching and minimization.
Parallels’ Coherence hides the Windows desktop, but keeps the Windows task bar for a familiar interface to the Start menu.
Fusion’s Unity gets rid of the Windows task bar and substitutes its own “launcher” window for the Start menu. I prefer the Parallels approach, finding it more natural.
One thing to note: Coherence and Fusion don’t work with Linux or any other operating system but Windows.
Parallels offers a feature called SmartSelect that lets you assign file types from either operating system to the application (Windows or Mac) you want to use. For example, you can set Word documents to be always opened by Office 2007 in Windows so that double-clicking a Word file, even in Finder, launches Word in Windows. Similarly, you could set it up so that clicking a hyperlink anywhere, even in a Windows application, opened the Web site in Safari on the Mac.
Both Parallels and Fusion mount the host file system in Windows. Parallels also makes the Windows file system available as a disk in Finder and provides an offline file system browser for getting files from a Windows disk image when the guest OS isn’t fired up.Regardless of which package you use, one thing the virtual environment can’t do is make Windows programs look like Mac programs. One example: Windowing operations in OS X are controlled with the standard OS X traffic light buttons, while those in Windows use the red X box.
Snapshots allow you to save a particular state of the VM, and then revert to it later. Think of it as an OS-level undo command. Snapshots are useful for backing out of an update gone badly, or for testing an application before committing to it.
I use snapshots regularly when using virtual machines and have started to wish this feature were available on my standard OS.
Snapshots are one of the most useful features of virtualization.Snapshots are also where Fusion and Parallels diverge in a significant way. Fusion’s snapshot facility is fairly simple, allowing you to set a single snapshot, then return to or discard it. Parallels has a sophisticated snapshot manager that lets you keep multiple snapshots simultaneously. You can return to any of these former states and run them — while keeping any changes you’ve made to the system in a new snapshot. Further, you can fork multiple changes from a single snapshot, resulting in a hierarchy of machine states that can be revisited at will.
Taking a snapshot on Fusion happens so fast I wonder if anything’s happened. Parallels can take 10 seconds or so to create a snapshot. Still, that’s a small penalty to pay for the piece of mind that snapshots give.
One of the more important questions for anyone considering virtualization is resource consumption. Both Parallels and Fusion allow you to easily constrain the resources that a given VM uses.
My recommendation is to accept the recommended defaults unless you have a good reason not to. In any case, you can always change these settings later.
Running virtual machines isn’t for skimpy hardware. The two resources that matter most are memory and disk space. There’s no way to get around the fact that virtualization requires substantial amounts of both. I ran my tests of Parallels and Fusion on a MacBook Pro with 4GB of memory and 200GB of disk.
Each running guest takes a substantial amount of RAM, as much as several hundred megabytes. The amount of RAM in your machine will limit which other programs you can run alongside the virtual environment, what you can do on the guest, and how many guests you can run simultaneously.
Most users will have one or two guest images — power users may have dozens. A virtual machine image consists of configuration information, a memory image, and a disk image. The disk image is the largest of these files, typically starting at a 2GB to 4GB for Windows and increasing as you install applications and add files. Both Fusion and Parallels support sparse disk images that use only as much physical space as necessary.
When you first start using virtual machines, it’s interesting and helpful to keep an eye on OS X’s Activity Monitor (Applications > Utilities > Activity Monitor) to monitor resource usage with different workloads. For example, I found that Parallels and Fusion both consumed 5 to 10 percent of the CPU when running Windows XP, even when the VM was idle. With Word loaded, you will see CPU usage run as high as 20 percent, even when you’re not using the application.
Moving a virtual machine image from one location on the disk to another is easy. Because machine images are just directories, you can move them to a different location on the same disk without breaking anything. Beyond that, however, doing things with machine images requires some management tools.
When copying an image, some configuration settings need to be changed before the virtual machine will run. Parallels provides basic image management tools, built into the GUI, including options for cloning an image. Fusion lets you just copy the directory, and then when you start up the image asks if this is a copy and fixes it up.
While I’ve never had a cloned image fail in Parallels, copied images occasionally haven’t worked in Fusion.
A more sophisticated operation is the compression of images. Compression removes unnecessary space in the disk image, so it takes up less room on the host disk. Parallel’s compressor is built into the GUI. Fusion ships with a command-line tool. You probably won’t see much benefit when compressing newly created images, but virtual machines that have been in use for some time are good candidates for compression.
Perhaps the most taxing of all management tasks is converting a physical machine to a virtual image: a P2V conversion. Parallels and Fusion offer tools for doing this; the tool is included with Parallels but is a separate download for Fusion. Both converters work well with Windows images. Linux support is spotty. My advice is to avoid P2V conversion if possible. Instead, create a new guest, install the OS and applications, and then use a network connection to move data files to the new machine.
Now that I’ve been running both platforms for some time, I generally choose Parallels when I want to work in Windows. I choose Fusion when I’m doing development work, when I’m running multicore guests, or when I need support for many different guest operating systems. I also choose Fusion when I need virtual machine images that I can share with others using VMware’s free player for Windows and Linux.
Parallels is the clear winner for managing machine images and snapshots. I find myself choosing Parallels more often simply because of the snapshot manager. Similarly, Parallels’ SmartSelect feature makes it easy to launch the right Windows application from within OS X.
However, my use of Windows is only occasional, and it doesn’t really push the machine. If my Windows work really taxed the CPU, I might opt for Fusion to run Windows as well.
Fusion is where I have all my Linux, FreeBSD, and Solaris images installed. Fusion is the only choice for SMP (symmetric multiprocessing) support or 64-bit guests. If you need to run CPU-intensive tasks in your virtual machine, Windows or Linux, Fusion’s multicore support will give you better performance. Users who just want to run Outlook next to iPhoto probably won’t notice a difference.
Overall, both products perform well and do what they promise. Running Windows applications alongside OS X applications is smooth on either platform. The differences between Parallels and Fusion are significant, but largely at the edge of the experience.
Whichever you pick, you’re sure to be impressed with virtualization on OS X.