Switch: virtualization vs going native

December 08, 2006

If you’re a “recovering Windows user” going on OS X like myself, there are effectively two choices that you can go with, if you want to be on OS X but occasionally still do things on Windows. Be it becuase you like IE and Windows-based Office so much, or you have some proprietary app that only runs on Windows. The choices are Boot Camp for doing a dualboot between OS X and Windows, or Parallels, for running Windows (and other OS-es) in a virtual machine inside OS X.

I used to think that nothing beats native boot. I mean, you can’t really get more native and lowlevel than native boot, yeah? And native means speed and stability, right? Wrong.

Sure, Boot Camp works fine. And it’s free and comes from Apple. You need to carefully follow the docs, like install Windows XP that has SP2, and not just any XP. And after you’re done, it works.

At least it did. For me. Initially. And on my iMac it worked fine always. On this MacBook Pro, though, things are different. There’s a horrible lockup after I boot into XP. The Task Manager shows that the CPU is 95% idle, but apps just crawl to a halt, crash or load very slowly. I have no idea what’s going on there, and I really got no incentive to study any further as I’m getting rid of Boot Camp in favour of Parallels.

Parallels is much nicer and works better for me. Sure, it costs a bit. 80 $ – or 60, if you consider their current promo that runs until Christmas. Big deal. For that, you get a nice rock-solid virtual machine and the ability to run several OS-es inside your Mac out of the box, and that’s pretty cool. I plan to do experiments around Linux and things.

There are many benefits of Parallels. For one, it’s much more stable and predictable for me in the virtualized context. It doesn’t crawl to a halt like the native-booted XP did. There are also other things like you can share files in both ways between Windows and OS X, whereas in natively-booted Windows, you just don’t see the OS X partition and that’s it. (You see the Boot Camp partition as read-only if you’re running in OS X.) You can do things like run a webserver on your OS X and see how things look in Windows, and other such tricks that are quite necessary if you happen to be developing something web-related.

Another disturbing thing with Boot Camp was that Windows and Mac OS X kept fighting over time zones. From back when I used to be more intimate with PC hardware and OS-es, I remember that there are two clocks in a PC: the “hardware clock” that’s maintained on the motherboard by the CMOS battery, and the “BIOS clock” that’s reset at boot time from the hardware clock. (Maybe the BIOS was Windows-only thing. Id be damned if I could remember.) So anyway, be it this or something else, the practical effect was that the clock in Windows was two hours off. If I corrected it, it was two hours off on OS X. And so forth. Looks like Windows, OS X and the hardware couldn’t agree among themselves about what to do about the clock and timezone offset. Parallels doesn’t have this problem, as it keeps the guest OS clock (Windows) in sync with the host one (OS X).