OK - so here is the deal - I often tell customers that "Just because you CAN do something, doesn't mean you SHOULD..." but I rarely follow this advice for myself - especially with technology at <a href="http://www.facebook.com/eGroupInc">eGroup</a>, and most especially on the weekends when my time is my own.

Sooooooooo.....  there's your warning......!

<!--more-->

Anyhow, I got a new 17” MacBook Pro (anti-glare display) and really was trying hard to determine what all the buzz was about.  Sure it's pretty.  The machine itself is beautiful, and the Mac OS is spectacular to look at and work with - with the slight exception of me feeling "business productivity crippled" with the lack of familiar applications and a forward delete key.

One thing I was just waiting to do though, was to run Windows 7 on a Boot Camp partition and then use <a href="http://www.vmware.com/products/fusion/">VMware Fusion </a>to "pull" that partition into my Mac OS running as a virtual machine.  Super slick - and very worthwhile - especially when using the Unity feature (which works a lot like seamless applications in <a href="http://www.citrix.com/xenapp">Citrix XenApp</a> - where the application "appears" to be running natively in the Mac OS, and the desktop session itself is simply hidden and running in the background – thanks to <a href="http://www.facebook.com/iantjones">Ian</a> on the eGroup team for educating me on this handy feature one day while at the office)  [SPECIAL NOTE:  If you are a VCP, VMware offers a $25 license for both VMware Workstation and VMware Fusion – don’t miss out!]

But this just wasn't enough.  I had recently rebuilt my Lenovo T61p with Windows 7 and had gone through the painstakingly lengthy process of reinstalling all my apps, sync'ing my files, sync'ing my 25GB OST file, installing x64 versions of Office 2010, Project 2010, Visio 2010, and so on.  I simply did not want to do this all over again.

So I decided to use the <a href=" http://www.vmware.com/go/pc2mac">pc2mac</a> VMware Fusion feature (think of <a href="http://www.vmware.com/products/converter/">VMware Converter</a> - a P2V tool) to move/migrate my existing Lenovo PC to it - not just as a VM of course, but all the way to the <a href="http://en.wikipedia.org/wiki/Boot_Camp_(software)">Boot Camp</a> partition.  After many fruitless searches, I realized this was simply not an option in VMware Fusion, but migrating my Lenovo to a VMware Fusion Virtual machine using a VMDK certainly was.  And if I could get it that far, then I could get it cloned to the Boot Camp, right?  RIGHT!

So, with no particular regard for time (it's the WEEEEEEEEEEKEND of course), I set out.  Using the VMware Fusion pc2mac function was fairly easy - had some VSS issues getting the Lenovo PC machine to snap and copy, and some minor networking issues seeing my target PC across my home wireless network, but these were <a href="http://lmgtfy.com/?q=what+the+heck+have+i+gotten+myself+into%3F">Googlable</a> and easily resolved.  

Once converted, and running as a "clean" VM (meaning I had pruned out everything Lenovo hardware-specific, and unnecessary software/hardware drivers) I had to tackle how to get it cloned over to the dissimilarly sized, but larger, 200GB Boot Camp partition I had set up.

The first thing I did was to run through the initial stages of the VMware Fusion Boot Camp import procedure, to install a base copy of windows, and more importantly for Fusion to “see” my faux Windows 7 boot Camp machine.  I had to do this to see how Fusion “saw” the boot camp partition as a VMware virtual machine disk file.  This took about 30 minutes.

Once completed, and after I had reverse-engineered the Fusion version of my Boot Camp machine to determine disk type, disk path, etc.  I spent an hour or so figuring out how to get the Boot Camp partition listed as a secondary drive to my newly created "Windows 7 PC VM" - and kind of gave up on doing it through the GUI (once I figured out the paths to the VMDKs, they still wouldn't let me add them) so I went back to my ESX2 days and simply text-edited the machine's .VMX file and manually added them - path and all – as an IDE device (important – as VMware Fusion builds new disks as SCSI devices).  This worked brilliantly!  

Now, on my powered on "Windows 7 PC VM", with my Fusion VM version of my Boot Camp partition powered off, I could see my "local" hard drive (C: Drive – which is a VMDK), and a new D: Drive – which, you guessed it, was my 200GB Boot Camp partition.  Now I had to get C: over to D: with full partition visibility.

I’m sure there are tons of tools out there to do in-guest or out-guest disk cloning, but the one I have always loved is Symantec’s <a href="http://www.symantec.com/business/backup-exec-system-recovery-desktop-edition">Backup Exec System Recovery </a>(BESR).  Simply put, this tool ROCKS!  First off, it installs easily, does exactly what it is supposed to, but even better, Symantec gives you a FULLY FUNCTIONAL 60-day trial of it – as if the $59 price tag were not cheap enough.  BESR comes in a Server and a Desktop flavor – you need the Desktop flavor to work with Windows 7.  [Please stop what you are doing and buy this product right now]

So I installed BESR “in-guest”, rebooted, and then used the “Copy Drive” feature to copy my C: drive to my D: Drive.  This ran successfully, resized the volume to occupy the full 200GB partition, and then I powered down my "Windows 7 PC VM"

Next I powered on my “Fusion VM version of my Boot Camp partition” and ensured it booted successfully (which it did not, since it thought that the only drive, which was the boot camp partition, was STILL the D: drive – and of course was looking for everything on the C: Drive)  I solved this by logging in as the local admin and following this tech note (thanks Microsoft!)  <a href="http://support.microsoft.com/kb/223188">http://support.microsoft.com/kb/223188</a>

OK, another reboot, and success!  I can boot my “Fusion VM version of my Boot Camp partition” and it is perfect !!!

Now the big test – reboot my MacBook Pro and hold the option key to boot natively into Windows 7 – but a few steps first.  I figured I’d need some of the Mac Boot Camp drivers from the Mac OS install disk within my new “Boot Camp VM” so I went ahead and inserted the CD into my MacBook, then passed it through to the “Boot Camp VM”, then copied the contents to the C:Temp folder, and then ran as much of the setup as I could, pre-loading drivers wherever possible.  I do this simply because I have learned to do it in the past when moving Windows between dissimilar hardware platforms.

The moment of truth.  I powered down my “Boot Camp VM” within VMware Fusion, then I rebooted my MacBook.

Pressing the option key brought up the multi-boot loader and allowed me to select my Windows 7 Boot Camp partition.  Upon launch, I saw the familiar Windows 7 logo, then OH NO the <a href="http://blogs.eGroup-us.com/wp-content/uploads/2010/07/bill-gates-bsod1.jpg">BLUE SCREEN OF DEATH</a>!  (0x0000007b – likely inaccessible boot device)

After much disk driver pre-loads, fiddling with startup repairs, booting back and forth between Mac OS with VMware Fusion running my Boot Camp VM (successfully) and my native Boot Camp partition (unsuccessfully) – as well as reading for an hour about MSAHCI, SATA, IDE, and more blah, blah, blah, I finally dug into the registry (via my VMware Fusion running my Boot Camp VM) and changed the following registry values:

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesMsahci
In the right pane, right-click Start in the Name column, and then click Modify.
In the Value data box, type 3, and then click OK. (it was 0)

HKEY_LOCAL_MACHINESystemCurrentControlSetServicespciide
In the right pane, right-click Start in the Name column, and then click Modify.
In the Value data box, type 0, and then click OK. (it was 3)

EUREKA IT WORKS !  Boot Camp now boots natively into Windows 7 (I had to then update the IDE driver with the Intel driver that I had copied to my Temp directory) and my VMware Fusion VM version of Boot Camp works too.

I hope any of you out there searching for “if you can do this” will find this post and benefit from it.  If I can be of any assistance, let me know by posting a comment – which I will get and attempt to respond to - or simply share your experiences!

It was a fun weekend project and I’m happy to share it with you <em>(written on my MacBook Pro running Windows 7 x64 in a Boot Camp partition using VMware Fusion)</em>

Enjoy
  