SSD Hard Drive
MacBook Pro (Late 2013, 13.3″ with Retina Display)
SSD Hard Drive
For the more literal folks, I apologize. I realize that a Mac is actually a PC but for the sake of simplicity I added it to the title so everyone would understand what I was trying to do.
I recently needed to transfer a Windows 7 install from a Lenovo notebook over to a MacBook Pro Bootcamp partition. I need to make it clear that this project was not a success. However, I have learned a few things that others will find useful. In addition, had I followed some advice available in a blog post it’s possible that it would have worked. After all, I did succeed in migrating the partition over and it did attempt to boot…
This particular transfer was a bit more challenging due to the fact that both systems use SSD drives. As a result, I couldn’t simply pull a drive and execute more direct partition clones.
Should you be considering such a move then a good place to begin is a blog post by twocanoes titled Migrating a Real PC to Boot Camp with Winclone 4. Basically, this is the advice I did not follow. Now, my reason for not following it wasn’t irrational. I was very concerned that I’d run Sysprep before cloning, only to then discover that it simply wouldn’t work. Perhaps if I hadn’t been trying to do this quickly I could have attempted this while also having a good fallback clone of the partition made BEFORE running Sysprep or any other changes (and it did not turn out quickly – I spent more time trying to make this work than I did simply starting with a fresh Windows 7 Bootcamp install).
So, once again, I’m confident that I could have succeeded in this endeavor had I followed the advice from twocanoes. However, even though I wasted a lot of time I did learn a few valuable things along the way.
Cloning Windows 7
Since the original Windows 7 partition was installed to an SSD I didn’t really have any options for drive removal (this wasn’t a system that I owned so I wasn’t about to tear it down even if it had a SATA compatible SSD). In this situation there weren’t many options. It’s possible that I might have found a cloning tool that could boot from an external CD/DVD or USB.
I can’t explain why I didn’t pursue that route but I chose to use EaseUS Todo Backup Free (note, check the license regarding your intended use). As far as I can tell this actually worked just fine. In the end I had a copy of my Windows 7 partition cloned to an external, USB 3.0 drive. It took a while and would have probably taken less time if I had used a method that didn’t require the OS to be started and running. However, I have no complaints about the tool that I used.
Creating the Boot Camp Partition
This was an interesting little trick that didn’t actually require the Boot Camp utility. The problem with Apple’s utility is that it makes the assumption that one is installing a fresh copy of Windows. My problem was that I already had a copy of Windows but there currently isn’t an option to just resize the OS X drive partition (non-destructive) and create a new one for Windows.
Not in Boot Camp itself but then again, it’s just a GUI for existing tools. Instead, I went into Disk Utility and selected the partition for OS X (on a default install it’s typically labeled ‘Macintosh HD’). Next, beneath the Partition Layout box I clicked the plus (+) symbol. This adds a new partition (only in the window, it hasn’t been applied yet). Here, you can then resize the existing OS X partition along with the future Windows partition. The next step would be to set the new partition format to FAT and then click Apply. It will non-destructively resize the existing OS X partition.
Once it was finished I had my standard OS X partition as well as a new Boot Camp FAT partition.
I stumbled upon this myself but as it turns out the folks at twocanoes also have an article titled Create a Boot Camp Partition (I figured this out before I learned about Winclone and decided it was the best tool in this case).
And so there I was with a clone of my Windows system and a Boot Camp partition waiting to receive it. Once again, I had another problem. I needed to figure out how to dump this clone into Boot Camp. My Windows 7 install is NTFS formatted, so it wasn’t a case of just dumping the Windows partition into the Boot Camp partition. Natively, OS X just doesn’t care much for NTFS partitions.
Once again, it’s possible that there are Live CD tools I could have used but I decided to simply purchase a copy of Winclone (I only needed the $30 version). After installing Winclone I connected the external drive and then initiated the copy over to Boot Camp.
Booting into Windows (Almost)
This is the point where it fell apart, and also the point where running Sysprep would have helped. Imagine my disappointment when I saw the Windows startup graphic disappear and instead be replaced by a Blue Screen of Death. In case you’re wondering, I received a somewhat generic STOP error of 0x0000007B.
I actually anticipated this and had a solution in mind. What I didn’t anticipate was that the solution simply wouldn’t work.
Windows Repair (Denied)
A good old Windows repair install often can fix a number of problems, such as those caused by picking up Windows and dumping it into a completely different hardware environment. My progress was temporarily halted as I did not have a copy of the Windows 7 Professional install disc on hand (I did have the correct product key, just not the software and no, it wasn’t an OEM key).
Those of you paying attention may have asked yourself why I didn’t have the install disc on hand if I anticipated this problem. The simple explanation is that I didn’t anticipate it until I was part-way through the cloning process…
Digital River still provides copies to of original install ISOs (legally, with Microsoft’s apparent blessing). You can find the correct links on plenty of other forums and posts. I downloaded the proper ISO, connected my external Blu-Ray drive to the MacBook Pro, and prepared to begin a repair install.
None of the options worked. The repair utilities available didn’t seem to be able to cope with the problems presented by this method of cloning (nor did they work properly when I figured out the next section and, at one point, cancelled the install and went back to the repair utilities).
Select the Driver to Be Installed
And that’s when I encountered a problem I’ve never experienced. It seems that the Windows 7 installer chokes on the MacBook Pro’s (with Retina Display) USB 3.0 ports. This took a while to figure out. The error message states that a ‘required CD/DVD drive device driver is missing’ but in the end it could no longer see the external disc drive because it couldn’t see the USB 3.0 ports that it was connected to.
How did I get this far? Well, it appears that a lot of low-level hardware stuff permits the installer to begin from a disc (or USB drive) but at some point it decides it needs a lot more drivers loaded to work properly.
After a bunch of trouble-shooting I ended up trying to use the Boot Camp feature that will place the installer ISO and Boot Camp drivers on the same USB drive, instead of using the external disc drive. I still had the same problem and couldn’t escape it. Note that my USB drive was USB 2.0, but the ports themselves were not being detected properly at this point of the install.
I took a different approach and ended up dumping the Boot Camp drivers to the NTFS partition using FUSE for OS X combined with NTFS 3G. After all, the Windows 7 installer was still able to see the Windows Boot Camp partition even though it couldn’t find anything connected to the USB ports.
This wasn’t an elegant solution and you may save yourself a lot of frustration by knowing that the Windows installer does not scan all sub-folders when browsing for drivers. No, instead I had to figure out exactly where to point it.
In this case, with the MacBook Pro (13.3 inch with Retina Display), I had to point the installer to look at \$WinPEDriver$\IntelxHCISetup\Drivers\xHCI\Win7\x64\ (within the Boot Camp driver folder). But we’re not quite done. That only loads the support for USB 3.0. Once that’s done I had to move the USB drive to another port and click the Rescan button to get it to detect the USB drive itself (when it worked it showed that it also loaded the ‘USB 3.0 Root Hub’ driver).
This is one piece of the experience that may be useful to many others. I hope.
Finally, with that working I was then able to hit Next and continue the process.
Yep, after all of this troubleshooting I simply couldn’t repair the install. The utilities, as mentioned earlier, seemed unable to work properly in this case. And, as I learned, if you follow the normal install process you are left with only two options.
Upgrade or create a fresh install. Upgrading wasn’t the path to a repair install. It required a working version of Windows to be up and running. That only left me with the option to do a fresh install.
So I did.
By then I had spent so much time trying to make this work that it was time to take the most direct route, which I knew would work (and I had a general idea of how long it would take to complete). I certainly didn’t lose anything. The Windows Easy Transfer tool (via network cable using the Thunderbolt to Ethernet adapter) helped and saved a lot of manual work though I still had to re-establish some things. All of my software had to be reinstalled.
I wouldn’t want any readers to think this exercise was a complete waste of time. It wasn’t. I learned several things I did not know in the beginning. I also understood where I made some mistakes and, at the least, it helped me sharpen certain skills that I don’t flex as often these days.