到目前为止给出的解决方案仅是足够好的建议,可以使机器启动足够远以进行备份并继续进行。遵循这里的建议,只会为您提供带有颜色的Mac引导电脑,您可以在其中登录但没有适当加速GUI。这使得MacBook几乎无法使用。这是一种替代方法,可以禁用有故障的AMD芯片,但与仅删除所有与AMD / Ati相关的内核扩展名相比,可以为您提供适当加速的Intel图形和更好的散热管理。
背景和说明
Apple Repair Extension程序不再可用。解决此问题的唯一真正方法是仅更换AMD芯片。不是逻辑板。不是“重新堆积”,不是“回流”,不是“烘烤”。苹果用故障芯片替换了故障芯片。一次又一次。对于这种老式笔记本电脑,仅更换图形芯片仍然是昂贵的硬件过程。
唯一已知的方法-即:仅使用软件-即可使2011 MacBook Pro(8,2)仅带有故障的AMD图形芯片,以几乎可靠的方式再次打开,并且可与加速的GUI一起使用,请参阅本指南或它的变体。以前的大多数技巧都删除了所有AMD-kexts,这带来了可怕的用户体验。
有必要知道您的确切操作系统版本。对于优胜美地,以下指南将更简单,但假定使用El Capitan或更高版本。El Capitan,Sierra和High Sierra需要禁用SIP(系统完整性保护)。在以前的系统(10.6-10.10)中,这些步骤是不必要的。
本指南假定所有kext仍位于其默认位置/ System / Library / Extensions。除了其中一个以外的所有AMD-kext,对于“适当的”操作是有益的。
为了使显示器加速,有必要强制计算机不要在独立显卡(dGPU)中启动,而直接在集成显卡(iGPU)中启动。这将带回您的笔记本电脑-但您将失去一些功能:例如,驱动外部显示器的功能。Thunderbolt数据连接应该正常工作。
初始过程:
–要从头开始,请重置SMC和PRAM / NVRAM:
关闭,拔掉电源以外的所有东西,现在按住
<leftShift>+<Ctrl>+<Opt>+<Power>
同时释放;
–现在再次开机并按住
<Cmd>+<Opt>+<p>+<r>
直到您两次听到启动提示音。
–通过按住进入恢复
<Cmd>+<r>+<s>
–禁用SIP:
csrutil disable
–在启动时禁用dGPU
nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
–启用详细启动模式:
nvram boot-args="-v"
–按住可重新启动进入单用户模式
<Cmd>+<s>
开机时
–挂载可写的根分区
/sbin/mount -uw /
–制作一个kext-backup目录
mkdir -p /System/Library/Extensions-off
–仅移开一个令人讨厌的kext:
mv /System/Library/Extensions/AMDRadeonX3000.kext /System/Library/Extensions-off/
–让系统更新其kextcache:
touch /System/Library/Extensions/
–等待kextcache进程完成
正常重启:您将拥有加速的iGPU显示屏,但是系统不知道如何对发生故障的AMD芯片进行电源管理。为此,您必须在启动后通过以下方式手动加载kext:
sudo kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
使用以下LoginHook将其自动化:
sudo mkdir -p /Library/LoginHook
sudo nano /Library/LoginHook/LoadX3000.sh
具有以下内容:
#!/bin/bash
kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
exit 0
然后使其可执行并处于活动状态:
sudo chmod a+x /Library/LoginHook/LoadX3000.sh
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh
未来使用的预防措施
还有两个需要注意的警告:重置SMC / PRAM / NVRAM时,这是可逆的。如果发生这种情况,可以/必须再次设置GPU功耗首选nvram,以从启动时开始强制使用iGPU。
由于这很容易发生(并且经常被错误地建议使用多次,而不是实际有用的方法),因此您可能应该为这种情况做准备,并创建一个简单的脚本来大大加快该过程,并使输入必要的变量变多更少的错误倾向:
sudo nano /force-iGPU-boot.sh
–在此文件中输入以下内容:
#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0
–现在使该可执行文件:
sudo chmod a+x /force-iGPU-boot.sh
将来,当SMC / PRAM / NVRAM重置为默认值时,现在可以通过以下方式启动到SingleUser中:
<Cmd>+<s>
–安装引导卷后,以读写方式执行:
sh /force-iGPU-boot.sh
现在,此安装程序可以在Apple安装人员无法期望的位置安装一个kext。这就是为什么在本指南中尚未重新启用SIP的原因。如果即将进行包含AMD驱动程序更改的更新,建议在更新过程之前将AMDRadeonX3000.kext移回其默认位置。否则,更新程序将至少另一个不同版本的kext写入其默认位置,或者最糟糕的是,您最终会遇到未定义状态,即部分不匹配的驱动程序。
在任何系统更新之后,必须检查文件夹/ System / Library / Extensions中是否存在有害的kext。它的存在将导致例如优胜美地和塞拉的靴子悬挂,高塞拉山脉的靴子循环过热。
此外:无论您做什么,笔记本电脑都过热。冷却系统不足,大量故障的AMD芯片就是证明。
为了延长这台被黑客入侵的机器的寿命,建议不要在很长一段时间内都进行繁重的工作。严格遵循笔记本电脑的常见建议:在坚硬的表面上使用,保持风扇和散热片清洁。使用任何具有相对激进设置的fancontrol软件也应有所帮助:例如smcFanControl,MacsFanControl或TGPro(均为商业产品)。
免责声明:此问题与此处重复,是重复的,因为针对此问题给出了如此次优的答案。