Coding with Titans

so breaking things happens constantly, but never on purpose

Windows 10 on Early 2011 MacBook Pro

Yes, that’s correct. It’s possible to install and have perfectly running copy of Windows 10 on this extremely old early-2011 MacBook Pro, even though Apple latest BootCamp 6 doesn’t officially support this hardware.

⚠️ [Update 2017-05-08]: Additionally I was able to extend its memory to 16GB and replace the internal drive with Samsung SSD 860 Evo to give it maximum performance.

Early 2011

Disks

Was it easy? YES! and NO! (explained in Long Story below)

Was it worth? YES!

TL;DR

The transition was fairly simple. However some initial configuration is required, i.e. I already had latest Windows 8.1 installed on a secondary hard drive of this MacBook Pro. Then, when the time had come, I simply hit the ‘Upgrade To Windows 10’ button. Windows did the dirty work, rebooted few times and after completion of the whole procedure I had Windows 10 starting up. Of course without the ability to use correctly the keyboard (F-keys) and without the way of turning off the machine (it only rebooted instead), with only possibility to sleep it. Beside that all other stuff was working more-less OK. Few days later I found that repairing BootCamp 5.1 (as suggested here), without even using ‘compatibility mode’ would help and I can confirm – it fixed all broken features.

Good job Microsoft and thanks for such a good experience! I have never been happier, when moving from one Windows to another.

Long story.

Really long story, full of midnight joys started the next day I bough this MacBook in the middle of 2011. I had this brilliant idea of making upgrades myself. First I replaced original RAM, put 8GB (max for this model) and seen a little performance boost. Next I replaced the harddrive with a brand new WD Caviar Black with 750GB / 7200rpm and got extra space. Then I installed Windows 7 (using BootCamp). That was an astonishing moment. No one could actually understand, why dare I to buy MacBook and primarly use Windows on it to execute BlackBerry development ;). But that was their problem, not mine. I could perform any type of required mobile-dev at that time using this single machine, while travelling etc.

In 2013, when my desktop PCs were already using SSD drives, I tried to apply similar approach to this MacBook (as RAM was sufficient and i5 processor is powerfull enough for development), where initialization of Windows 7 with lots of bad stuff onboard could consume few very long minutes. Beside, there was a next version of Windows on the horizon. And this started all my problems.

I purchased Plextor 256GB SSD, also equipped myself with a dedicated bay for disk and external case for DVD and followed iFixIt guide to replace the optical drive. Brilliant! at least until I found out I can’t simply insert Windows 8 DVD and install it, as this MacBook has a limitation of not installing Windows from an external drive!! First time I spot such a shortsighted from Apple engineers. Second demotivation was OSX kernel, which had TRIM permanently turned off for all SSD drives, which were not bought from official Apple stores/resellers. That’s the worst kind of marketing I’ve ever seen. The third problem was an effort I already put in to alter the hardware itself (check the guide!). I wasted so much time with a screwdriver and closed the DVD in dedicated case, what I didn’t want to undo all and then redo few days later, to just execute another try. Beside that Windows 8 Pro was needed to let me continue Windows Phone tasks.

Plextor

There are those moments in life, when you realize, there is no turning back and you must find THE solution and don’t even think about giving up. That became my motto and workaround for the third problem. Fixing second issue was also quite expected. Turning on TRIM can’t be simply done though system settings and requires a binary manipulation with some system files. There are plenty of apps that can do it, but even though I decided not to put OSX on SSD at all. Mostly since Apple doesn’t want me to do it. Additionally I presumed that 256GB disk might become kind a small, if I had to split it by half for MacOS and Windows. Windows plus Visual Studio and some SDKs could occupy more than 100GB itself, so let’s give all space to Windows.

The inability to install Windows became my nightmare then. I spent more than a week-long sleepless nights googling for a solution without anything successful. Until… I found that very smart cheat, which made it’s task! Thanks to severin, the true savior! My slightly updated solution was following:

  • Use BootCamp and configure this new SSD, mounted as the secondary disk in place of internal DVD drive as designated for Windows 8 installation.
  • Close BootCamp, umount created drives and allow any type of modifications over partitions on this disk by:
sudo chmod 777 /dev/disk0s2
sudo chmod 777 /dev/disk0s1
sudo chmod 777 /dev/disk0
  • Then use VirtualBox (still on OSX) to create new virtual machine and initialize installation of Windows 8 from an external DVD or ISO image, but instead of using a local file for emulated PC’s storage, redirect it into a raw drive (created at previous steps).
sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename win7raw.vmdk -partitions 2
  • Stop the installation process just at first reboot of virtual machine by turning off of that machine. At that time some files were already copied from Windows 8 installation disk, but the most importantly the created partition was marked as bootable and Microsoft boot-loader was installed.

  • Remove all files from Windows 8 partition, using any software capable of accessing NTFS file-system (like Tuxera or Paragon NTFS, both have trials) and then copy everything from the Windows 8 installation DVD in that place.

  • Install rEFInd (better fork of rEFIt) to be able to boot from that new Windows 8 partition.

  • Reboot MacBook with ALT key pressed. Select booting from Windows 8 partition and request installation again on the same partition! Notice that this time we are running on the real hardware, not inside virtual machine. Most importantly remember NOT to perform any format.

  • You might need to manually select that Windows 8 partition on reboots, but once installation is completed, you got almost ready Windows 8.

  • Being logged-in into Windows remove files copied from the installation DVD and install BootCamp 5.1 drivers dedicated to early-2011 MacBook Pro. HINT: They could be also written on an USB stick by BootCamp, when preparing the disk at step 1.

  • Being logged-in into OSX configure rEFInd to add permanent entry for Windows, or restore the original Apple’s UEFI boot-manager using:

sudo bless --folder /System/Library/CoreServices --bootefi
  • Using BootCamp on Windows, it’s possible to change, which is the default OS for booting!

Some thoughts at the end – if you got just an ‘upgrade version of Windows 8’, you will need to execute all steps above using Windows 7 installation DVD. Then activate your Windows copy and finally do an upgrade. It will run smoothly, the same way as upgrade to Windows 10 as described on top. Using external DVD will work fine since it overwrites system only files and doesn’t need to care about any extra steps related to boot-managers and limitations of MacBook’s UEFI implementation.

And when I just see this procedure, I am curious, if installing rEFInd won’t actually let booting from external DVD drive and won’t simplify the whole process. But once I have all configured, I won’t revert it to try. Let me know, if you did!

Have a nice day!

EDIT: 2017-05-08:

There is also an option to extend it to utilize 16GB of RAM, which I described here.

EDIT: 2019-05-31:

This was a working great hardware and was serving me well. However due to CPU/GPU limitations (lack of Metal support) it was impossible to install latest macOS Mojave. And as of today I replaced it with a donblebook MBP-2018.

EDIT: 2020-03-24:

In case of keyboard or trackpad issues after Windows 10 upgrade to version 1809 or newer check here on this wordy guide, how to fix it.