I have MacBook 5,2 which i needed with Windows 10 as new MacOS is no further supported on it and i didn’t wanted to waste some good hardware engineering by Apple in it 🙂
However the installation of Windows 10 was pretty straight forward – I made the installation disk with Rufus (with UEFI option) and put it in the MacBook and installed everything on the hardware. After initial installation I copied bootcamp drivers which i saved from Windows 7 disk and installed them also on the notebook which made almost all the functionality come alive on the MacBook. Along with those drivers Nvidia Display drivers were also intalled.
Initially working without reboot everything was working fine but as soon it got rebooted it got stuck in the reboot loop .. with Windows Automatic Repair showing again and again. Finally i started researching on the problem and found that the problem was in the UEFI
While Windows 10 no longer expects an EFI system to have VGA-compatible video, Nvidia drivers apparently still do and crash if they don’t detect it. The above commands are supposed to enable the VGA support in the graphics card."
In order to fix the above issue, we need to somehow enable this in the UEFI firmware and i used the below technique to achieve it.
- Boot your windows in Safe mode With Networking
- Open DiskPart utility of windows
diskpart
select disk 0
select partition 2
assign letter=f
In the above commands we assume that Disk 0 is where Windows are installed, Partition 2 is your boot partition made by Windows
- Download Explorer++ from the net, its free –https://explorerplusplus.com/
- Open explorer++
- Navigate to folder F:\EFI\Microsoft\Boot
- Rename the original file bootmgfw.efi to bootmgfw_o.efi
- Download the EFI shell from http://www.softcruise.com/shell_full.efi
- Copy shell_full.efi to F:\EFI\Microsoft\Boot
- Make a new file by the name startup.nsh in the same folder
- Write the following lines in it
mm 0010003E 1 ;PCI :8
mm 03000004 1 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw_o.efi
Now reboot your computer and it should boot without any trouble what-so-ever
Note:
Registers on your MacBook might be different from
mm 0010003E 1 ;PCI :8
mm 03000004 1 ;PCI :7
In order to identify the right registers you can make use of the following commands03 00 00 is Display VGA
00 10 00 is Bridge Control
To find out the register value through efi shellShell> pci -b
Shell> pic -i 00 10 00 -b
Shell> mm 0001003E -PCI 8
Shell> pci -i 03 00 00 -b
Shell> mm 03000004 -PCI 7As I found out in another older mac the VGA controller was with id 02 instead of 03, so your’s might differ
how am I supposed to create a new ”file” ?
Hi,
thank you very much for this tutorial. I want to install windows 10 on an mbp 7,1.
I have a question regarding the above mentioned steps.
Do you have to rename the Shell_full.efi to bootmgfw.efi?
The registers are of course different for the mbp 7,1. They can be found here:
https://bbs.archlinux.org/viewtopic.php?pid=1833995#p1833995
Unfortunately I was not yet successful installing windows. The screen stays black after the Nvidia driver is installed.
Incredible!!! I was trying to install Windows on a friends old (late 2009) Macbook without look for 2 days. Thanks to your guide i was done within 2 hours. But i couldnt mount the EFI Boot partition as you described. I solved this by booting into a Live Linux and did it there.
Had to use the following code for MacBook Late 2009 (Macbook6,1 or a1342:
mm 000015003E ;PCI :8
mm 0002000004 ;PCI :7
fs0:\EFI\Microsoft\Boot\bootmgfw.efi