The following is an example of how Apple really hasn’t got their Intel machines and OS right when it comes to the much advertised feature of also being able to run Windows. If you are not interested in running Windows on an Apple machine, you may as well skip what follows. However if you are, you may find the steps I had to take an interesting procedure in getting it right.
I recently upgraded my Boot Camp’d MBP (2009) from Snow Leopard to Mountain Lion and as a result Mountain Lion destroyed my second Windows partition. When I first installed Windows 7 (32bit) about three years ago while running Snow Leopard I had zero problems with the Boot Camp Assistant and the machine has operated flawlessly over the last 3 years.
My original intentions were to upgrade the Apple side of the machine in preparation for installing Windows 8.
The upgrade to Mountain Lion went smoothly enough (it ran overnight) and it was done when I started the next day. After briefly checking out some of the new features, I rebooted to Windows only to find after a couple of minutes that I no longer had my Drive D or data drive. It was just gone....
Like many Windows developers (and I would guess Apple developers as well) I’ve always split my data (my code) from the development tools I use. The main benefit is that Windows can simply be replaced (reformat, new version or reinstall of existing version) without ever have any concerns for the data drive. The other benefit is that Drive D is the only drive that requires backup. Drive C only holds the operating system plus any programs that get installed. Obviously all those programs are available on CD/DVD or from the internet. However what is on the data drive is not so easily replaced and is only available from backup.
My last backup was about two days old, so the only choice I had at that point if I didn’t want to lose two days work was to use a low level recovery tool to find the missing data. I got the data back readily enough, but in doing so screwed up the Apple side of it.
As I was to later discover, it was the HD Recovery partition from Mountain Lion that destroyed my Windows partition. How Apple can justify installing over an existing NTFS partition without any sort of warning to the user is incomprehensible and unprofessional. The correct action would have been to skip the installation of the HD Recovery partition. If a partition is already occupied and there are no further partitions available, any operating system should respect an existing partition setup and take no further action. All the user would require is a message stating that the HD Recovery partition could not be created, because no partition was available, and therefore that feature would not be available. A recovery partition is not essential. Obviously it is nice to have, but prior versions of OSX such as Snow Leopard never had one and I doubt too many Apple users were too perturbed at the time.
Now I’d like to address the problems that were encountered during the reinstall. These are the problems I hit after a successful install of Snow Leopard.
The Mountain Lion download is removed immediately after the install and therefore there is no provision to make an installer for later use.
Mountain Lion is available from the App Store, however it is a hefty 5G download, therefore for those people with a slow or unreliable internet connection it is probably a very poor choice. Unfortunately you are not told before the installation starts that the OSX Mountain Lion Installation Application will be removed from your Application folder at the completion of the install. Obviously if you need to install it again, as I did, you need to download it again. Again I don’t follow Apple’s rationale with this. You purchase a product and then they take it away from you. I’m not even sure if that is legal. So the first suggestion is to make up an installer for a 8G USB memory stick before starting the Mountain Lion install. The internet is full of instructions for doing this, but most users will not go there until it is too late. However the easiest way is to download Lion DiskMaker from http://blog.gete.net/lion-diskmaker-us/ and make the installer with that.
Boot Camp Assistant failed to start the Windows 7 DVD, with a message “could not find boot disk”.
I suspected my MBP’s SuperDrive could be playing up because I could not get Boot Camp Assistant to use the drive to boot my Windows 7 disk after the partitioning step. The drive prior to the Mountain Lion upgrade appeared to be working; it was playing DVDs ok, but would not cooperate with the Windows 7 installation disk. The same disk would load fine on another MBP. I even had problems getting it to read the Snow Leopard disk which had only ever been used one time. After a Shift/Control/ Option/Power set of key strokes it at least read the Snow Leopard disk and I was able to install Snow Leopard and start the recovery process.
No provision within Boot Camp Assistant to make a USB installer or DVD from a Windows 7 ISO image.
Because of the alleged SuperDrive problems, I decided to download an ISO image of Windows 7 because I was aware that Boot Camp Assistant could make a Windows installer to a USB flash drive from the ISO image. However in my version of Boot Camp there was no provision on the page where I expected to find that option. I only had two options “Download the latest Windows 7 support software” and “Install Windows 7”. Where I expected to see the option “Create a Windows 7 install disk” I had a gap in the window where that option should have been.
Again the internet has a lot of advice on this topic. It would seem that some MBP models with a SuperDrive do have this option and others do not. Evidently all models without a SuperDrive do have the option. It can be enabled by adding two entries to the info.plist file inside the Contents folder of Boot Camp Assistant . There are two keys in info.plist that need to be modified DARequiredROMVersions and USBBootSupportedModels. The information for both keys can be obtained from System Information, you need the Boot ROM Version exactly as it is displayed and your Model Identifier without the comma as in the following example MBP52. According to some information I read, those key values should be added to the top of the array list although I can’t imagine why. I used Xcode to add the values and Xcode adds them to the top of the list anyway. Once those values are added to those two keys Boot Camp Assistant will add the option to create the USB installer from the Windows 7 ISO image. After creating the installer, the Windows 7 install will then proceed as normal.
Once Windows 7 is installed the Boot Camp Windows support drivers failed to install Bluetooth via the AppleBluetoothInstaller.exe. Therefore there is no Bluetooth available after the Windows Support install.
Once Windows is installed and the Windows Support has been installed you will find that you still have no support for Bluetooth. There will be an entry in Device Manager with a yellow icon indicating that there is a problem with the “Bluetooth USB Host Controller”. This is not normally an entry you see in Device Manager.
If you watch carefully while the drivers are being installed you will notice that when Bluetooth starts to install, that the prompt disappears very quickly and the next item is immediately installed. It looks as though the Bluetooth install is just skipped. When you actually manually run AppleBluetoothInstaller.exe you get to see the problem. The result from the installer is “Not needed – No device for update present”.
Again the fix is on the internet. The one I read was from a guy doing a Parallels install. The .inf file of the driver has to be modified. The Apple .inf file is missing a Hardware Identification ID. Once that identifier is added you can then run AppleBluetoothInstaller.exe and Bluetooth support will then be installed. I presume that the .inf file was changed in Boot Camp 5 as compared to the original .inf contained in whatever version of Boot Camp that was used in Snow Leopard or even Leopard, which I think was the OS on the machine when I first purchased it.
If you then check Device Manager you will see a perfect list, the Bluetooth USB Host Controller entry has disappeared. All Bluetooth radios are there and all Bluetooth devices then can be discovered normally.
Creating the extra Windows partition
Of course at this point if you want to create an extra partition in Windows for your data drive as recommended above, you will first need to go back and boot to OSX and remove the HD Recovery partition. Do not create the extra partition in Windows before doing this. You will get a warning from Windows that you should not proceed, but if you do proceed you then have a Windows only machine with no hope of ever rebooting to OSX.
To remove the HD Recovery partition, you need to modify DiskUtility so that it has the Debugging Menu. With that menu item enabled you can see all hidden partitions and the HD Recovery partition can be erased and then removed with the partition manager.
After it has been removed you can then boot back to Windows and use the Windows Disk Management tools to shrink the existing Windows partition and then create the new partition. You will still see the 620 MB unallocated HD Recovery partition but because it is now unallocated Windows will allow you to create the new 4th partition without exceeding the 4 partition limit of a Basic disk partition.
As an aside I went through the same procedure with Windows 8 using the same support drivers although this time with the 64bit version. Unfortunately I still ran into a couple of problems. The Nvidia video drivers would not install and the same modification to AppleBluetoothInstaller.exe didn’t work for me. As the Bluetooth drivers are essential to the software I develop I decided to forgo Windows 8 until Apple release their updated Windows support drivers for Windows 8 which hopefully they will do soon.
However, I do have a friend with an MBP62 who has installed Windows 8 without any problems, so I’m interested to hear from anyone else how may have successfully installed Windows 8.