前言

近来一段时间笔者注意到交流群的同学们在求助台式机如何屏蔽自己不能被驱动的 NVIDIA 显卡(GTX16x0、RTX20x0、RTX30x0 等),总结了一下,大概分为三种情况:

  • 当 macOS 刚更新 10.14 Mojave 宣布不再支持新的 NVIDIA 显卡时,有不少人相信这只是时间问题(包括笔者),可是接下来的几年苹果啪啪打脸,接连更新了 10.15 Catalina、11.0 Big Sur,全部不支持 Maxwell(GTX9x0)及之后的架构,这部分同学一直坚持使用 10.13 到现在,现在因某些原因想升级系统了,需要屏蔽独显仅用核显安装使用 macOS;
  • 第二种情况,刚入坑的小白,之前没有想过要安装黑苹果,由于热爱打游戏,所以买入了英特尔带核显的处理器 + NVIDIA 较新的显卡(GTX16x0、RTX20x0、RTX30x0 等),macOS 自 10.14 开始不再支持除 Kepler 架构之后的 NVIDIA 显卡,需要屏蔽独显仅用核显安装使用 macOS;
  • 第三种情况就悲剧了,刚入坑的小白,之前没有想过要安装黑苹果,买入了 AMD 锐龙处理器(或者带 F 后缀的英特尔处理器)+ NVIDIA 独显 这种组合,虽然 AMD 处理器可以通过内核补丁解决安装问题,但独显 GTX16x0、RTX20x0、RTX30x0 无法驱动,所以这种组合目前是黑苹果绝缘体 😂。因为 AMD 锐龙处理器普遍没有核显(有核显的型号也无法驱动),带 F 后缀的英特尔处理器没有核显,独立显卡也无法驱动。而 macOS 自 10.14 起全面启用了苹果自家的 Metal 技术进行渲染,不能驱动不支持 Metal 的显卡,即使能开机也毫无体验感可言,此类情况目前没有解决办法,建议更换免驱 AMD 显卡

针对以上第一、第二种情况,本文接下来会介绍两种台式机屏蔽独立显卡的方法,还有屏蔽 PM981(a)/PM991 等不能安装还影响 macOS 稳定运行的固态硬盘的方法。为什么屏蔽固态硬盘要一起讲解?因为方法原理上是相同的,另外如果你有无法驱动也没有 BIOS 开关的板载 CNVi 网卡,同样可以使用下面的方法进行屏蔽。至于笔记本屏蔽独显,可直接使用文章最后整理好的文件包。

 

设备属性方法

OpenCore 的一大功能特色,就是注入设备属性(DeviceProperties),通过向指定的 Pci 路径注入一些属性,可以达到驱动或屏蔽设备的效果。较新版本的 Clover 同样也支持设备属性注入。

<key>PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)</key>
<dict>
  <key>IOName</key>
  <string>#display</string>
  <key>class-code</key>
  <data>/////w==</data>
  <key>name</key>
  <string>#display</string>
</dict>

在 config 中添加以上内容就可以,ProperTree 用户确认自己的 Pci 路径后可直接复制粘贴。不明白的,看下面详细步骤:

首先从 Hackintool 获取设备的 Pci 路径:

如图所示复制 Device Path。

然后打开 OCC / CC / OCAT 编辑器,直接输入:

 

保存,重启即可生效,对 PM981/PM991,CNVi 网卡的操作也是同理。

 

SSDT 方法

相比设备属性方法,SSDT 方法具有更高的执行优先级,整体稳定性和效率也要更高,但是使用起来有一点技术门槛。

首先第一步还是确定设备的路径,这里介绍 Windows 设备管理器和 IORegistryExplorer.app 两种查找方法,哪个对你来说方便,选哪个就行。

 

Windows 设备路径查找方法

进入 Windows 10,按下 Win + X 组合键,在弹出的菜单中打开“设备管理器”。找到你的独显,右键选择“属性”,然后切换到“详细信息”选项卡,在属性框中找到“位置路径”,如下图:

 

其中第二行的:

ACPI(_SB)#ACPI(PCI0)#ACPI(PEG1)#ACPI(PEGP)

这个部分就是我们需要的设备路径。另外,如果能直接在“属性”中找到“BIOS 设备名称”就更好了:

 

这里的 BIOS 设备路径是可以直接使用的 ACPI 路径。如果你的只有第一种,去掉其中的 #ACPI 和 括号,然后以英文 . 连接起来:

_SB.PCI0.PEG1.PEGP

保存下来,下面介绍如何使用。

 

macOS 设备路径查找方法

这里我们需要使用 IORegistryExplorer.app 来完成操作,由于这个软件只支持 10.14 及以上的系统,所以使用 10.13.6 的同学只能使用 Windows 方法或自行转换 Pci 路径。

运行软件后直接在搜索框搜索 GFX0(针对独显)或 NVMe(针对固态硬盘),下图以搜索 NVMe 为例:

如图,将路径中带 @ 符号的部分组合起来,得到设备路径。如果你有多个 NVMe 固态硬盘不确定是哪一个,可点击“IONVMeController”,右侧显示的信息会有设备信息提示,如下图:

 

从上图中右侧的信息可以判断出这个位置插入的是西部数据的固态硬盘,如果是 PM981(a)/PM991,可能会有 SAMSUNG 字样。

将提取到的路径信息保存下来,下面介绍如何使用。

 

修改预编译的 SSDT

接下来需要使用 MaciASL.app ,这是一款用来编译 dsl 和 aml 文件的编译工具。使用软件打开文章末尾整理好的 .dsl 文件(注意看文件包说明选择文件)将你在上一步中得到的路径替换下图中所示的位置:

 

替换的过程中,唯一要注意的是一个标点符号都不能错,例如,上图中要替换以下两个位置的路径信息(绿色标注):

External (_SB_.PCI0.PEG0.PEGP, DeviceObj)

Method (_SB.PCI0.PEG0.PEGP._DSM, 4, NotSerialized)

替换完成后应该如下(橙色标注):

External (_SB.PCI0.RP17.PXSX, DeviceObj)

Method (_SB.PCI0.RP17.PXSX._DSM, 4, NotSerialized)

其它信息,如 name 和 IOName,这两个信息可以从 IORegistryExplorer.app 右侧信息区域中查找获取,不想找也可以直接填写 #display(针对独显)或 #disk(针对固态硬盘),也可以去掉这个部分直接不填(如果删除,注意需要清空 Package 值或重新计算)。

完成后,点击左上角 文件 → 另存为 → 文件格式选择 ACPI Machine Language Binary ,保存到任意位置,如下图:

 

添加到引导工具

Clover 比较简单,先说 Clover。直接把文件放到以下路径:

  • /EFI/Clover/ACPI/Patched/

重启即可见效。

 

OpenCore 用户把文件放到以下路径:

  • /EFI/OC/ACPI/

然后编辑 config 文件,把文件添加到 ACPI 部分,并启用,见下图:

如果是 ProperTree,如下图:

保存重启见效。

 

其它

  • 如果使用核显黑屏,首先检查 BIOS 设置中的核显相关选项,如果 Auto 不起作用,可尝试 Integrated Graphics 优先;另外还可尝试添加 igfxonln=1 启动参数;
  • 这样设置完是可以实现在 Windows + 独显 和 macOS + 核显 之间无缝切换,可是两条线连接显示器和主机基本是免不了的,否则每次切换都要手动重新插线路;
  • 如果搭载 PM981(a)/PM991 等固态硬盘无法进入 macOS,可以先拔掉,做好屏蔽设置后再插上;
  • 如果是笔记本机型,则直接添加星辰云资源整理好的文件即可

下载地址

隐藏内容
本内容需权限查看
  • 普通: 9.9星币
  • 会员: 免费
  • 终身会员: 免费

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。