Writ

Win10 Macbook Pro

2021-01-08

I’ve got a 2013 macbook pro ("mbp" from here out) that I wanted to format for my girlfriend. She wanted windows, and this turned out to be such a chore compared to Linux that I decided to document the process that was required.

No bootcamp was used, as I’d previously removed OSX entirely from the device (good riddance). This is a pure EFI install, which seems to work equally well.

MBP EFI boot

When booting, you can hold alt on the laptop’s keyboard until it prompts you with a UEFI boot menu, showing the devices that it detected as bootable, as well as pxe-boot wifi network options.

Getting something that works with this is troublesome;

  1. The recommended microsoft-created "CD/DVD creator" for windows 7 isnt recognized by the mbp
  2. if you use unetbootin or balena, the device does not appear
  3. If you use Rufus on an existing windows machine to flash the iso with a GPT bootloader. The drive will freeze the entire mbp when you select the option
  4. you must use Rufus on an existing windows machine, and you must select the "MBR" option.

That combination formats the drive to NTFS (which I was frankly surprised the mbp could read), and it seems wrong - GPT is the way to go right?

If you boot into a live linux from USB and start fdisking around, you’ll find the MBP drive is a "hybrid GPT/MBR", and that fdisk has a specific advanced mode for messing with it. On the internet, it seems as if only one other person noted the answer on the side - mbp will only boot windows from an MBR drive, not GPT. I admit to not being clear on exactly how this came about, or why.

As an aside, you’ll hear everyone say to reset the P-RAM, I even got that advice in-person. It doesn’t do anything. It doesn’t seem to hurt, nor help.

Installation

USB3.0

Now that you can finally boot into windows setup, you’ll notice on Win7 or below (I tried Vista too) that it seems to be frozen on the language select. It’s not, it’s worse. Before win10, Microsoft didn’t ship their Windows installation iso’s with USB3.0 support. The internal keyboard and touchpad of the mbp are USB3.0, as are the hubs controlling the external ports - and Windows requires a thunderbolt driver to figure out how to use the proprietary ports. This means that while it is technically possible to install Win7 on a mbp, you can’t actually produce the inputs required to do it.

This was really frustrating, and was the point that I decided that reusing my old win7 key on this project was no longer worth it. Win10 iso’s ship with the appropriate USB3.0 drivers.

wifi / bluetooth

At this point, the rest of setup is fine - you’ll end up booting into a fresh Windows install exactly as you’d expect. But it’s a little broken.

The mbp comes with an internal broadcom wifi/bluetooth chip. The fact that it’s listed here should clue you into the fact that it doesn’t work with the standard windows drivers. I happened to have a d-link wifi usb on my desk, which worked perfectly when plugged in. After doing so, the mbp installed a half-dozen drivers (including a rather obvious display driver change), one of which was for the internal wifi. At that point i could unplug the D-link USB wifi and rely on internal again.

But not bluetooth.

While some people seem to report being able to get bluetooth to work by uninstalling default drivers, my mbp never presented the device to win10 at all (it certainly did to Linux when i ran it). This wasn’t a huge catch for me, so i gave up after not finding bluetooth at all in the device manager.

UPDATE 2022-01: The 5.0.5 support software includes the bluetooth drivers. Download, extract. The blog that referenced them indirectly mentioned that you could manually update a single device and specify folder, but that didn’t work for me.

Instead, I installed the bluetooth broadcom driver from the extracted folder directly, then used Device Manager -> right click the bluetooth device -> install drivers -> pick from list, picking the broadcom drivers i’d just installed. At that point, it all worked.

touchpad

The final hurdle was the touchpad. This entire time you’ll have noticed that the touchpad only half-works - it doesn’t seem to recognize your finger well, and requires a full "click" to emulate a leftclick. No gestures work - no scrolling or right-clicking. This gets pretty onerous.

The fix is to find a chocolatey package that, when installed, adds exactly the behavior you’d expect from the touchpad. Installing chocolatey without a right-mouse button is a real chore, since you need to paste a 100+ character powershell command to install chocolatey in the first place - but afterwards you’ll be set. Linking the github for the project too.

audio

(UPDATE 2022-01)

Another persistent issue was audio refusing to work. I’d try to install drivers, but everything in device manager always ended up as "code 10, device cannot start". No logs or events.

I’d tried a number of different things and drivers from increasingly shady and desperate sources; but the answer was (once again) the 5.0.5 support drivers - with a catch.

Install the Cirrus driver (the exe from the support software), then in Device Manager uninstall the audio device (the entire category should disappear). Then scan for hardware changes (i’d also rebooted); it should automatically just pick up the audio device without requiring any more screwing around.



Final notes / editorialization

This process turned me off from both Apple firmware and Microsoft software. I’d used this laptop with Linux Mint as my daily work machine for 4 years prior, with no such pain upon installation. The combination of requiring a specific windows-only tool (rufus) to make a valid install medium, along with the torturous driver situation, made this take multiple afternoons of on-and-off trial and error.

Apple seems to have realized this, and is why they brought Bootcamp along to dual-boot, with a number of polyfill drivers for things mentioned above. While that’s admirable in its own way, it’s not a huge help when trying to properly install a new OS. It’d be nice if Apple released those window driver binaries for its laptops openly (as it is you’d have to reverse engineer the calls Bootcamp makes) - and it’d also be nice if Microsoft put more effort into the mbp windows experience (the USB3 drivers, and wifi/bt drivers, especially).

But, after all is said and done, it acts like any other laptop.

All site content protected by CC-BY-4.0 license