Pros and Cons of Boot Camp/Virtualization for Windows 7
I have an iMac and I'm coming to the point where I'm going to need Windows 7 on it so I can do a bit of my Visual Studio development work on it.
I'm aware of two options, setting up the dual boot using Boot Camp and using something like VMWare or Parallels to setup Windows in a virtual environment.
While it would be way too subjective to ask which is better, what are the pros and cons to each approach? This would help me make an informed decision about which route to take.
Solution 1:
There are actually three options.
Dual boot with Boot Camp.
VM using Parallels, VMware or VirtualBox.
VM using Parallels or VMware running the Boot Camp Windows installation.
The third gives you the advantages of the first two, i.e. you can make the decision which option to use every day or hour whenever you want. The second option also has three sub-options: you can run Windows fullscreen, in a window, or combined with Mac OS.
Now, generally the first option is ideal when
a) You really want to use Windows, not Mac OS, but thought that Mac hardware is nice and that Mac OS is a good extra.
b) You really want to use Windows sometimes.
c) You want to run games or other programs that want direct hardware access via the OS only.
d) You fear that system resources are not enough to run both Mac OS and Windows at the same time.
The second option is ideal under these circumstances:
a) You really want to use Mac OS all the time and only need Windows sometimes.
b) Or for specific applications occasionally.
c) Or for specific applications all the time (for example Microsoft Access or some such Windows-only application).
For all three running Windows in fullscreen mode will work, for a) and c) running Windows in a window is good too, and for c) running Windows in combined mode (called "Coherence" or some such thing depending on VM product) can be quite good*.
(*I run Powershell a lot because I use it at work and need to study all the time and Powershell is the only Windows program I run all the time. Hence I like the fact that using Parallels it is the only Windows window I see on my desktop.)
The third option is ideal if you really want two computers in one, leading to combinations of all reasons above. I use Windows 7 and Lion with Boot Camp and Parallels myself.
Hope this helps.
Solution 2:
There are many "fans" of both approaches, and I could write a pages-long essay here about all the differences, but it really boils down to performance (Boot Camp) vs. convenience (virtualization, which I'm going to call by its numeronym "v12n" for brevity).
The v12n apps have been excellent since Apple migrated from PowerPC to Intel, and they get better every year. You will probably find that v12n is enough to handle Visual Studio, and you will love the convenience of not having to reboot, being able to run Windows seamlessly in full-screen mode, and still having easy access to the "Mac" side of your computer if/when you need it.
I'd recommend trying v12n first because it's relatively easy to do. Both Parallels and VMWare offer trial versions of their software, so it would only be a matter of an afternoon to try both and see which would be best for you, if either.
Boot Camp requires repartitioning your HDD, so it's definitely more involved, and not as easy to remove if you find it's not for you. In your case, use Boot Camp if any of these apply...
- You prefer the Windows environment over Mac OS X and won't need/want to boot into OS X
- Your VS development will require messing with hardware drivers (tough to do with v12n)
- Your VS development requires accurate performance benchmarks (have to run natively)
- You find that v12n has quirks that you cannot tolerate
Solution 3:
The biggest pro of VMWare/Parallels is that you don't have to reboot to switch into Windows. I'm a web developer and I have a similar setup - Mac Pro running 10.6 with Windows 7 in Parallels. This lets me use all my favorite Mac development tools (Espresso, CSSEdit, etc.) and then test in IE6/7/8/9/10 at the same time. No way would I want to reboot every time I want to test something in IE!
The biggest pro of Boot Camp, on the other hand, is that it's free. All you need is your copy of Windows.