Macbook keeps rebooting on startup?

Learn how to disable discrete GPU on Macbook Pro 2011 running macOS Sierra

Zair Abbas
4 min readAug 3, 2019

If your Apple’s Macbook Pro showing glitchy logo and keep restarting after grey screen, it means that one of your additional graphics card went bad.

Glitch on Loading Screen of Apple Macbook Pro (Early 2011)

Issue

Macbook keep on rebooting after Apple Logo with glitchy display

I bought this Macbook Pro (Early 2011) in 2012. I was in love with my Macbook until last year June 2018, I accidentally turn on the WebGL on Chrome browser and my Macbook crashed and stuck on a glitchy Apple loading screen and kept rebooting. I got to know that my additional AMD Radeon graphics card went bad. It's common with 2011 MacBooks and its a manufacturing fault.

Apple way of fixing it is to take out the logic board and heat it in a gas oven for 7 minutes which will fix the card but this issue can come back after 6 days, 6 weeks, 6 months or 6 years.

Yesterday, after a year, I found out this great solution which is to disable the additional graphics card completely by coding which seems scary and risky but what you have to loose on already dead MacBook.

This whole solution worked for me and my Macbook is now working fine so I thought why don’t I make a blog post to keep the process saved for myself and help others who are facing this problem on their Macbook Pro 2011.

Please note, you will need to redo this every time you update your OS.

1. Reset SMC

Shutdown, unplug everything except power and hold

Shift(left) + Ctrl + Option + Power

What the SMC does? Read here

2. Reset NVRAM: Power up and hold

Until you hear the startup chime two times.

Command + Option + P + R

What does the NVRAM reset do? Read here

3. Now shutdown the computer

4. Power up and boot into Single User Recovery by holding

If you are on high sierra 10.13.6+ you might need to use Command + r instead

Command + R + S

5. Disable SIP by typing

This takes a bit to complete so wait for it and you will need to enable it after completing all the steps below.

csrutil disable

6. Disable Discrete GPU on boot by typing this code

nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00

7. Enable verbose boot mode by typing

This will show text instead of Apple logo, every time you boot up, shut down or restart your Mac. You will need to turn it off once all steps are complete.

nvram boot-args="-v"

8. Reboot by typing

reboot

9. Boot into Single User-mode by holding

Command + s

It might look as if it hanged, but press enter and you should see the shell (root#)

10. Mount root partition writeable by typing

/sbin/mount -uw /

11. Make a kext-backup directory by typing

mkdir -p /System/Library/Extensions-off

12. Move all offending kext of AMD Radeon out of the way by typing

This command is for AMD. If you have NVIDIA, change accordingly

mv System/Library/Extensions/AMD*.* /System/Library/Extensions-off/

13. Inform the system to update its kextcache by typing

touch /System/Library/Extensions/

14. Reboot by typing

reboot

15. Power up and boot into Single User Recovery by holding

if you are on high sierra 10.13.6+ you might need to use Command + r instead

Command + r + s

16. Disable verbose boot mode by typing

This will hide text on boot and return to show Apple logo and loading on boot

nvram boot-args=""

17. Enable SIP back by typing

csrutil enable

18. Reboot by typing

reboot

Everything should get back to normal now! if not, then there is some other issue as well.

Problem fixed

MacBook Pro is back to normal and running on built-in Intel’s Graphics Card

After each OS update, you will need to repeat this process to disable discrete GPU because it will revert and come back again with every OS update.

Credit goes to following links for the help:

https://www.youtube.com/watch?v=iLft4N54zvU
https://gist.github.com/cdleon/d1eff7246a25193304284ecec40445b0

https://apple.stackexchange.com/a/285896

--

--

Zair Abbas

13+ years experience building innovative websites and mobile apps working with over 150 customers worldwide. Currently, CEO and co-founder of Grocode.io