Thursday, February 24, 2011

Parallels and PRL_ERR_DISK_GPT_MBR_NOT_EQUAL

This should help out some poor b**tard like me... I installed Parallels today to give it a spin because I heard that you can now run a virtual machine directly off your Boot Camp partition (ergo I can run pure Windows like I need to in order to properly test software, and I can run the very same partition as a virtual machine in OSX.)

Well, as usual, I ran into some hiccups; however, this time the hiccups were from something I'd done (but still shouldn't have been hiccups really.

For some reason, when I tried to get Parallels to use my Boot Camp partition, I was getting a 'cannot configure the boot camp partition' error and when I looked at the details I received a very mysterious PRL_ERR_DISK_GPT_MBR_NOT_EQUAL error.

Looking at this error suggests there some sort of problem with the GPT and the MBR (if you don't know what these are you aren't ready for this post, wikipedia is your friend) where something was not what someone expected.

Well, I know that after creating my Boot Camp partition in OSX that I'd messed around with that partition space in Windows 7 to create and extended partition by shrinking the Boot Camp partition. OSX didn't seem to care about this and was quite happy to mount the partitions for read only access. Well, it turns out that Parallels cares about this a lot and when it looks at the GPT to see what the MBR should be it throws up because the GPT states that the end of the Boot Camp partition is something it is not.

Sooooo... Long story short, it turns out I'm lucky that I'm using reFIT to handle my multi-boot system because when reFIT starts up you can run a little utility called gptsync (choose 'run partition tool' from the reFIT boot menu) which apparently will square up what is stated in the GPT with what is stated in the MBR (technically it modifies the MBR so be careful.)

BTW, gptsync doesn't handle extended partitions so I had to move all of that data onto the main Boot Camp partition and delete the partition then re-extend the Boot Camp partition over that space so it resembled what OSX remembered from earlier - then I could run gptsync.

Booting OSX and running Parallels at this point worked fine. As an aside, I was wondering if this was a Parallels limitation but it turned out to be a problem (again with virtually no intelligent description) for VMWare's Fusion 3.1 as well.

Hope this helps somebody! :)

UPDATE: Don't forget, both in VMWare Fusion and Parallels, to delete any previous virtual machine you had tried to make using that Boot Camp partition because it has erroneous GPT data - start with a fresh virtual machine.

3 comments:

  1. Great Job! I had the same problem and worked like a charm...verified for Lion.

    ReplyDelete
  2. Fixed a Parallels error that was driving me mad on Lion - thanks for sharing the solution.

    ReplyDelete
  3. Thanks a lot! - had exactly the same problem, it's solved now! :-)

    ReplyDelete