Recently a friend of mine, Josh Betz, has been trying to get his Boot Camp partition to run as a virtual machine (VM) from OS X. It’s a great idea and I would recommend, but there are a couple of disadvantages. Let’s look at the pros and cons:

Pros

  • Able to access all of your existing files
  • Saves hard drive space by not requiring a virtual disk
  • Allows you to run Windows without restarting your Mac
  • Completely free (I will outline how to do this free with VirtualBox, but VMware can do this natively, but it costs $$$ and we don’t like that!)

Cons

  • Usually pretty slow at booting up
  • Must install Windows 7, and in a certain way (Only Windows 7 is proven to work, I haven’t tried Vista, but if you’re running Vista… well I’m sorry I just won’t help you.)
  • A few hacks need to be applied

Obviously the pros outweigh the cons, but hey, everything has some trade-offs. Anyway, this process isn’t very hard and should take the average Terminal junkie ~5 minutes. Now there are two ways we can go about this…

  1. Use VMware’s easy-to-use GUI. This thing is so simplistic it’s almost painful. Click on the preinstalled Boot Camp VM and start it. Even though it’s easy, it’s extremely slow, unreliable, and not free (VMware Fusion 3 will run you about $80).
  2. Create our own VM in VirtualBox with a few Terminal commands. It’s a little more advanced, but if you can install Boot Camp I’m 127% sure you can handle this process. Best of all, it’s FREE!

I’m not going to cover how to use VMware, a simple Google search will yield the correct results. Let’s get started!

  1. I’m going to assume that you already have a Boot Camp partition set up in the proper way, meaning that it should mount in OS X and the OS you used is Windows 7. You should also have VirtualBox installed. For this first step, you’re going to want to unmount your Boot Camp partition in Finder. Mine is named “Windows HD”, your’s will most likely be named “BOOTCAMP”.
  2. Open up terminal and run the following commands:

    sudo chmod 777 /dev/disk0s3
    sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename ~/Library/bootcamp.vmdk -partitions 3
    sudo chown [username] ~/Library/*.vmdk

The process should complete successfully, which means we can move on.

  1. Create a new VM in VirtualBox, but instead of creating a new hard disk, check the radio button for “Use an existing hard disk” and then click on the button. Click on “Add”, browse to you user’s Library folder (<code class="EnlighterJSRAW" data-enlighter-language="raw">Users/[username]/Library/) and select <code class="EnlighterJSRAW" data-enlighter-language="raw">bootcamp.vmdk.
  2. You can now finish creating the VM. Boot it up and see if it works!

A couple of notes…
You should probably install the Guest Additions for your VM. It integrates the host machine and guest machine very well. Also, you may have noticed that a file named “bootcamp-pt.vmdk” was created… DO NOT DELETE THIS! I don’t know what this file is, but it is crucial to the VM.

That’s pretty much it for this tutorial, so go out there and get on some Boot Camping… ness!