我一直很喜欢我的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安装时留下的。此时的电脑还是健康的,谁能想到第二天早上就得了不治之症,只能终身服药来控制病情发展。
拓展阅读
- 解决Mac Pro垃圾桶连接4K屏的问题:花屏和闪屏
- 制作一个适合于你的Intel Mac的Tiger x86安装U盘
- Power Mac G4镜面机:扣电阻超频大法,单路CPU篇
- Mac OS 9(以及其他版本的Windows)均可应答Modem呼叫
- New World Power Mac电脑:常见的几个问题和解决建议
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命令才能进入系统,有什么办法可以解决呢?如果需要更多细节,可以其它方式聊聊嘛,谢谢啦!
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
对于亮度不能调节、睡眠睡死,麻烦楼主指点下。
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就没问题了,亮度调节也可以正常使用
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行是一次输入还是做三次输入,另外中间的命令怎么打回行。
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开始重启并进入终端开始第二步))
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
分三次输 中间的换行其实是空格
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芯片了呢?
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启动,这个是必须在单用户模式里做的。
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了。
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秒盲打关闭独显的命令然后重启呢。
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元解决了