MacBook Pro 2011 AMD显卡门:简单修复与预防

请注意:本文章发表于 2019年11月5日 ,已经超过一年,其内容可能已经过期。对于发表时间较久的文章,本站不能在准确性和质量方面做出保证。虽然仍然欢迎提出改进建议,但一般不再维护,敬请谅解。

我一直很喜欢我的MacBook Pro 17-inch (2.4GHz Late 2011, 16GB, 240GB SSD, Antiglare)。这台真正意义上由苹果设计和制造的末代17寸工作站是我的镇桌之宝之一,我给它取名大白熊,并且一直积极解决它的任何故障,包括陆续损坏的光驱、硬盘、触摸板和摄像头,还曾经为它更换过一次C壳。

我在从上家购买这台电脑时就被警告过,这台电脑已经超过苹果官方的特殊维修计划期限,这意味着这台电脑的显卡如果出现问题,就无法获得官方的解决途径。这台电脑使用AMD Radeon HD 6770M独立显卡,与Intel HD Graphics 3000硬切换,其中HD6770M有臭名远扬且从未被解决的显卡虚焊问题(即「AMD显卡门」。苹果的态度最初相当强硬,直到用户轮番施压下才承认这个缺陷,当然经过一段时间,现在苹果也不会为它负责。

我自诩我一直还是在积极预防这个问题的,但这个问题还是在今天早上发生在了我的头上。由于是不能避免的问题,早晚都需要面对,我写这篇文章来交流经验。


问题发生

AMD显卡门发生在2010-2011年的Unibody MacBook Pro(15/17寸)上。由于SNB芯片的高发热、老模具的不良散热与本代AMD显卡本身的缺陷,过热可能导致显卡被虚焊。不像之前的NVIDIA显卡门型号,这个问题没有完美的解决方案,因此是预防为主的。

要预防这个问题,最好的方法就是降温。避免让独立显卡有长时间的负载,以及更换硅脂、勤清灰、手动增加风扇转速都是行之有效的办法。笔者特别推荐以下三个软件:

  • iStat Menus
  • gfxCardStatus
  • Macs Fan Control

iStat Menus实际上已经合并了以下两个软件的绝大多数功能,但它是付费软件。笔者建议你使用正版软件。你也可以选择使用下列的gfxCardStatus和Macs Fan Control;gfxCardStatus还有一个特别的立刻切换显卡和显示目前独显依赖软件的功能。将温度区间设定到40~80度,此时待机风扇将在3000转左右(有可闻风噪,还可接受),待机温度50-60度。温度不超过80度,独显一般是安全的。

除此之外,不要为这两代MacBook Pro安装Windows系统。Windows系统在苹果电脑上只能使用独立显卡,这一负载有百害而无一利,要坚决避免。

自从我获得这台电脑以来,我一直相当关注上述预防措施。从风扇调速和显卡使用状态监控都一个不少,我还为它更换了质量更好的信越硅脂。但人总要犯错误,一时大意,就会造成问题。昨天晚上我为它重新安装了Snow Leopard 10.6.8系统,在高负载的情况下并未在意它的散热问题;经过一晚上的冷却,第二天它在唤醒时屏幕呈现诡异的纯蓝色且电脑停止响应。重启之后,显卡门的典型症状花屏就出现了。在此简单总结一下这一代显卡门的症状有:

  • 某些电脑没有花屏问题,但会卡死在Mac OS X启动完成之后的灰屏上;
  • 最典型的症状是花屏和Mac OS X不能启动,一般会卡死在75%进度条(Yosemite +)和旋转指示器(Mavericks -)上;
  • 某些电脑启动就显示纯色;
  • 某些电脑启动时表现为黑屏,然后风扇高速旋转并关机;
  • 某些电脑完全不能启动或自检报警。

本文介绍的简单修复方法只适用于前两种轻症问题,你必须至少能够启动Mac OS X到单用户模式。这意味着显卡目前有部分脱焊,但并不严重,不影响主板的正常运行。如果你的症状表现为重症,可能需要考虑后文介绍的其他修复措施。

除此之外,当然,你也必须有一个Mac OS X系统。本方法不适用于Windows。由于固件默认Windows只使用独立显卡,这一问题在Windows上不能完美解决,除非你应用下文中的其他方式。

简单修复

开机选择Mac OS X,使用Command+S进入单用户模式。由于花屏,你可能看不清楚屏幕所显示的内容,那就待屏幕上的滚动完毕后,按几次回车键,如果明显有换行,则电脑此时已经进入单用户模式。

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

键入以上命令。由于电脑花屏,你只好凭感觉输入。在你键入命令并且按回车后,电脑应该只会换一行,如果你看到了朦朦胧胧的报错消息,重新执行以上命令。这条命令告诉NVRAM使用集成显卡启动电脑,而不是默认的独立显卡(苹果的显卡切换是独占式的)。然后键入:

reboot

来重新启动电脑。此时电脑使用集成显卡启动,因此花屏问题暂时消失。如果你的系统版本高于Mac OS X 10.13,接下来按住Command+R(恢复模式不加载驱动,所以你可以放心启动);如果你的系统版本在Mac OS X 10.11与Mac OS X 10.13之间,接下来按住Command+R+S;如果你的系统版本低于Mac OS X 10.11,略过这一步。使用任何形式的终端(如果是Command+R,则选择语言后打开「实用工具」——「终端」;如果是Command+R+S,则直接键入),键入并执行:

csrutil disable

这一步为Mac OS X 10.11和以上版本的Mac OS X关闭SIP(系统完整性保护)功能,以便我们改动系统的核心文件。然后键入:

reboot

来重新启动电脑。本次重新启动时再次按下Command+S,进入单用户模式。首先我们挂上文件系统,在提示符后键入并执行:

/sbin/mount -uw /

如果你使用APFS文件系统,这一步可能花去一分钟。随后我们为要拿下的系统kext创建备份文件夹并拿下系统的独立显卡驱动,阻止系统尝试启动独立显卡。分别键入并执行:

mkdir -p /System/Library/Extensions-off

mv /System/Library/Extensions/AMDRadeonX3000.kext  /System/Library/Extensions-off/

touch /System/Library/Extensions/

reboot

AMDRadeonX3000.kext(如果你使用Snow Leopard,这个文件则叫做ATIRadeonX3000.kext)就是尝试启动独立显卡并导致系统死掉的罪魁祸首。 不要改动其他AMD开头的kext。由于系统会检测到我们对扩展程序文件夹做了改动,它会在本次重新启动时自动重建kextcache,并额外重启一次。然后熟悉的桌面就又回来了。

电脑仍会检测到独立显卡,但不会启动它。系统偏好设置和gfxCardStatus此时不能正常切换独立显卡。使用强制dGPU的软件会报错。这时这个简单修复就成功了。

副作用

这个修复措施简单可行,并且已经是经过多次改进后的最稳定方式。但该措施仍然只能保证目前电脑的正常工作,而不能保证软件升级等其他问题。除此之外,还带来了性能上的拖累。笔者总结如下:

  • 由于设定了NVRAM参数来不使用独显,不要重置NVRAM或SMC(以及不要让电池没电)。如果不小心这么做了,重新设定NVRAM参数(之后可能需要经常设定,所以考虑可以把它做成脚本)。
  • 升级、重新安装操作系统需要重新执行上述除设定NVRAM参数外的所有步骤。
  • 如果需要打安全更新等补丁,需要先还原上述被拿下的kext,待升级后取出,然后手动使用kextcache命令重建缓存。苹果似乎已经不再为High Sierra提供安全更新,所以不算很烦人的问题。
  • 某些朋友遇到了亮度不能调整、睡死的问题。这是电源模式和驱动程序的问题。如果你曾经玩儿过黑苹果你应该了解这些基本操作:pmset全局gpuswitch为0,修复kext权限,重建kextcache。
  • 由于目前显卡还处在虚焊状态,并且我们的措施实际上只是避免了它被启动,而不是屏蔽它,你可能还需要加以上文中提到的预防措施,以免独显虚焊进一步加重。
  • 由于操作系统不会尝试控制独显的电源,独显将持续保持默认空载,而不会被关闭(亦不会增加负载)。这会为电脑增加能耗,并增加电脑的散热压力,缩短续航时间。这是不能避免的。
  • 由于独显损坏,电脑的雷电端口会失效。这是不能避免的。
  • 某些高GPU需求的软件会表现为卡顿,因为此时它只能使用iGPU,即性能十分低下的Intel HD Graphics 3000。

值得考虑的其他修复措施

目前有硬屏蔽的方式来从硬件层面上拿掉独显。从主板上干掉独显的供电,MacBook Pro就不会再认独显(即系统概述里也会消失)。等同于一种上文操作的硬件实现,避免了许多副作用(除了与独显直接相关的),一劳永逸,但没有反悔的余地。

也可以为你的MacBook Pro重新更换GPU芯片。由于HD6770M不像上一次NVIDIA显卡门有改进型的芯片,这一招可能只会管用一小段时间。同时这一招的可靠度与维修师傅的水平成正相关关系。如果水平不佳,或你仍然不加以预防,或RP太差,你可能需要换很多次。如果你对你之后的预防措施很有信心,可以这么做。

这张图片是发生显卡门的早晨的前一晚,即刚完成Snow Leopard安装时留下的。此时的电脑还是健康的,谁能想到第二天早上就得了不治之症,只能终身服药来控制病情发展。

拓展阅读

赞赏站长

本站是原创性质的个人站点,站长拥有所有原创内容的著作权,版权所有。

站长欢迎任何人利用本站内容进行高质量的二次创作,但必须为站长署名(@paizhangpi 或 @paizhang),并附上本站的链接,或事先与站长协商授权事宜。除此之外,严禁任何人盗用本站包括图片在内的任何原创内容,形式包括但不限于低质量或未署名的二创或使用、转载、抄袭、引用、改编、翻译,乃至用于商业用途等。以上行为一经发现,将会追究到底。

《MacBook Pro 2011 AMD显卡门:简单修复与预防》上有11条评论

  1. Safari 14.1.1 Safari 14.1.1 Mac OS X  10.15.7 Mac OS X 10.15.7
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Safari/605.1.15

    请问,我的17寸Mac在安装2020-06安全更新后,那些命令就失效,导致每次需要手动输入nvram命令才能进入系统,有什么办法可以解决呢?如果需要更多细节,可以其它方式聊聊嘛,谢谢啦!

  2. Safari 12.0 Safari 12.0 iPhone iOS 12.1 iPhone iOS 12.1
    Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1

    对于亮度不能调节、睡眠睡死,麻烦楼主指点下。

    1. Microsoft Edge 91.0.864.41 Microsoft Edge 91.0.864.41 Mac OS X  10.12.6 Mac OS X 10.12.6
      Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 Edg/91.0.864.41

      我的也是Macbook Pro 2011,装High Sierra会睡死,换High Sierra就没问题了,亮度调节也可以正常使用

  3. Google Chrome 80.0.3987.122 Google Chrome 80.0.3987.122 Mac OS X  10.15.3 Mac OS X 10.15.3
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36

    mkdir -p /System/Library/Extensions-off

    mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/

    touch /System/Library/Extensions/
    对命令一窍不通,请问以上4行是一次输入还是做三次输入,另外中间的命令怎么打回行。

    1. Microsoft Edge 18.18363 Microsoft Edge 18.18363 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363

      mkdir -p /System/Library/Extensions-off
      (换行)
      mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/
      (换行)
      touch /System/Library/Extensions/
      (换行)
      reboot
      (换行(即敲ENTER开始重启并进入终端开始第二步))

    2. Safari 15.6.1 Safari 15.6.1 Mac OS X  10.15.6 Mac OS X 10.15.6
      Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6.1 Safari/605.1.15

      分三次输 中间的换行其实是空格

  4. Safari 13.0.3 Safari 13.0.3 Mac OS X  10.13.6 Mac OS X 10.13.6
    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15

    刚好我也有一台2011年的17寸MacBook Pro。开机花屏,不能进入系统。

    我尝试过进入单用户模式,却没有反应。
    相应的,开机Command+R可以,重置vRAM也可以,就是开机Command+S不起作用。Command+R+S也没有作用。

    请问是不是就只能更换GPU芯片了呢?

    1. Google Chrome 78.0.3904.97 Google Chrome 78.0.3904.97 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36

      理论上来说,能进去Command+R,那就能进去Command+S。开机按住这个组合键之后,你会看到屏幕上是啰嗦模式,黑底白字在滚动。等它滚动停下之后,就是成功进入了单用户模式。
      如果说Command+S按住之后的确进不去啰嗦模式,那就只好先更换GPU芯片了。因为这个解决办法是包含两个部分的,一部分是拿掉系统里面的驱动程序,这个可以把硬盘拆下在别的电脑上处理。另一部分是设置NVRAM为iGPU启动,这个是必须在单用户模式里做的。

      1. Safari 13.0.3 Safari 13.0.3 Mac OS X  10.13.6 Mac OS X 10.13.6
        Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15

        感谢指点,但是我的问题就是可以Command+R开机进入,可Command+S开机就是一点儿反应也没有,没有黑底白字滚动,只有花屏。看来真的只好换GPU了。

        1. Google Chrome 78.0.3904.87 Google Chrome 78.0.3904.87 Mac OS X  10.14.6 Mac OS X 10.14.6
          Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.87 Safari/537.36

          我想花屏不代表没进去,也许你等个30秒盲打关闭独显的命令然后重启呢。

          1. WebView 4.0 WebView 4.0 Android 10 Android 10
            Mozilla/5.0 (Linux; Android 10; RMX1901 Build/QKQ1.190918.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.21 SP-engine/2.17.0 baiduboxapp/11.21.3.10 (Baidu; P1 10) NABar/1.0

            我是现在网上找这些方法折腾了好几天没弄好,最后看到说刷bios 可以解决就去中关村花了100元解决了

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据