I'm considering getting an Apple laptop, but I will continue to use Windows frequently. Dual-booting is a pain, but virtualization has its own issues, so I'd like to keep a foot in both camps if possible. To accomplish this, I'm thinking of installing Windows 7 on a Boot Camp partition, and sharing that partition with either VMware or Parallels (the two main virtualization programs for Mac OS X that I'm aware of), so that I can use Windows in an integrated, virtualized environment from Mac OS X while preserving of option of booting into Windows directly when needed.

Basically, I'd have two use-cases for my single Windows installation: 1) boot into Windows directly using Boot Camp and 2) boot Windows alongside Mac OS X using a virtual machine. I've seen a lot of questions about migrating completely from one to another, but I want to continue to use both in parallel.

I have a few questions regarding this:

Which program would be better for this, VMware or Parallels?

How painless would the transition between the different environments be? Would I encounter any problems or annoying chores (i.e. hardware reconfiguration) when I switch from booting via the virtual machine to booting via Boot Camp and vice versa?

Is the virtualized hardware in a VMware or Parallels environment similar to the hardware on the actual machine?

Are there any tricks to making this a workable solution?

Is there any documentation out there to describe how to do this (booting the same partition from Boot Camp and a virtualization solution) in the best way possible (everything I've found concerns one-way migration)?

3 Answers
3

Both Parallel and VMWare have wizards that could setup your BootCamp partition to run in the virtual machine.

Compatibility Warnings:

Make sure you install the system in a multi-core setup (either physically or through a VM) because the Windows installer will choose an incompatible kernel if it can only detect one core.

If you decide to use a SATA controller in the VM, it must be a model compatible to the real one because Windows cannot detect the changes in the SATA controller early enough to switch the driver.

Make sure your copy of Windows can be transferred between two systems otherwise you won't pass the Genuine Advantage check when you switch. Parallel support says you clone the MAC address of your real NIC to fool Windows in the virtual machine, but it didn't work for me.

If you google "Parallels and Boot camp together" or "parallels and boot camp at the same time" you should find a lot of hits.

This is a popular configuration. The biggest issue I've run into is after booting into Bootcamp Windows and then booting back into OS X, loading up Parallels up will take A LONG TIME. This seems to only seems to happen when I first switch.

And then there are a variety of weird bugs you'll find, mainly in Bootcamp. It's hard to peg them to one category, but I suspect it is because the drivers are subpar. I find running in Parallels is more productive, cause I don't get sucking into a time sink trying to work around some random Bootcamp bug.

As far as any chores, none really. Tricks? Probably a few out there, but I haven't bother to look them up as I have been moving to a Parallels only work flow.

Just remember to install bootcamp first then Parallels. Should be common sense, but I forget not everyone is technically inclined or a troubleshooting champion.

(1) like all competition, both sides have a great deal to offer. I prefer VMware out of familiarity, but you can do some serious homework and read up on the performance differences here.
(2) The only frustration is the fact you have to reboot to run either OS natively. That's what Boot Camp allows you to do. So you'll have to reboot, hold Option and choose the OS you want to use. I use rEFIt or else I often forgot to hold the button at boot up.
(3) No - you're abstracting your hardware when you run the VM system. Performance will not be as good, but convenience is there. Look up one on the difference between type 1 and type 2 hypervisor if you're really interested. The basic rule is it'll be faster to run windows natively if you care.
(4) Make sure to install any OSX drivers in the Windows size of things to make it feel pretty. I love using my two finger scroll in Win7.
(5) If you define "this" clearly, there could be documentation out there for it. I think we've explained all you need to figure out in here - now it's time to implement and use it.
(6) I think your approach is wise. Use a VM for simple tasks that are just not compatible with OSX, or boot natively into Windows as necessary. I prefer 95% of the time to live in OSX, but that 5% is pretty damn important.

In #3, I'm referring to the interface provided by the virtualization layer (i.e. is it emulating the hardware on the Macbook or generic PC hardware). I'm less concerned about performance and more concerned about having to futz with it all the time to keep it going.
–
Kaypro IIAug 1 '11 at 21:45

If the Q is basically will you have to install different drivers over and over again, that's a solid no. The virtual layer emulates in a consistent manner - it won't change on you unexpectedly.
–
mjbAug 2 '11 at 13:29

Of course. But I asking about when I switch between booting via the VM and booting via Boot Camp. I would assume there's no virtual layer with boot camp, but I could be wrong. If the VM emulates different hardware than is on the machine, Windows might get fussy. I want to know how Windows will behave in this scenario. Will it sit and reconfigure all the peripherals (perhaps requiring me to reconfigure any custom settings) each time I switch booting methods? Stuff like that.
–
Kaypro IIAug 2 '11 at 14:54