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 commands

03 00 00 is Display VGA
00 10 00 is Bridge Control

To find out the register value through efi shell

Shell> 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 7

As I found out in another older mac the VGA controller was with id 02 instead of 03, so your’s might differ


Fix Old MacBook Windows 10 Reboot Issue

3 thoughts on “Fix Old MacBook Windows 10 Reboot Issue

  • October 13, 2020 at 7:00 pm
    Permalink

    how am I supposed to create a new ”file” ?

    Reply
  • October 18, 2020 at 2:46 am
    Permalink

    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.

    Reply
  • April 7, 2022 at 3:08 pm
    Permalink

    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

    Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.