解决 MacPro7,1 机型开机内存警告问题

概述

本文最后更新:2021年2月26日

现在很多使用第八、九、十代没有核显的酷睿处理器的黑苹果,选用 MacPro7,1 机型解决独显硬解(主要是 Vega 和 RX5000)。这个机型对AMD较新的显卡很友好,对 Vega 和 RX5700/XT 有加成,并且不太挑剔CPU。美中不足的是,这个机型开机会遇到内存位置警告,见图:

这是因为 2019 款 MacPro 原本具有12个内存插槽,但绝大多数桌面端主板最多只有 4 个内存插槽,和机型的内存通道设计不符,导致识别错误。

在实际使用中不会有什么影响,但这明显是一个会逼死强迫症的小毛病,这里就介绍一下解决这个问题的方法。

解决方法

  • 模拟出一个12插槽的硬件环境,根据官方页面给出的信息,把实际内存插槽位置仿冒成推荐的位置欺骗 macOS;
    • Clover r5100 以上版本已自备模拟功能;
    • OpenCore 0.6.3 新增自定义内存功能,也可模拟;
  • 使用第三方驱动 MacProMemoryNotificationDisabler.kext 关闭内存警报信息提示。
    • 在 macOS 11.0 Big Sur 中,因 Lilu 不再具备 Userspace 修补能力,因此 MacProMemoryNotificationDisabler.kext 已失效。
  • 使用第三方驱动 RestrictEvents.kext
    • 由 Acidanthera 团队开发,用于在不兼容的硬件平台上禁止一部分 macOS 系统事件,以提升系统稳定性。

 

OpenCore 默认配置方法

  • OpenCore 模拟方法由 @XIII 撰写提供,下面的“我”指作者 XIII;已于 2021 年 2 月 26 日更新部分内容
  • 首先,自定义内存功能要求 OpenCore 版本最低 0.6.3,如果你的不是,请升级,升级方法参考:如何升级引导工具
  • MacProMemoryNotificationDisabler.kext在 macOS 11.0 Big Sur 中,因 Lilu 不再具备 Userspace 修补能力,因此这个 kext 已失效,因此,macOS Big Sur 不使用这个文件;
  • 使用第三方驱动 RestrictEvents.kext:由 Acidanthera 团队开发,用于在不兼容的硬件平台上禁止一部分 macOS 系统事件,以提升系统稳定性。
  • 因 ProperTree 操作实在不便,这里使用配置工具:OpenCore Configurator / QtOpenCoreConfig,它们都有一个共同的设计,即必须开启 CustomMemory 选项之后,才能正常保存自定义内存设置的值,否则直接丢失,务必注意;
  •  OCC 推荐版本 2.20.0.0 及以上,QtOCC 推荐 20201225 及更新版本,编辑前务必注意备份 config 文件

已有40360次阅读

完成后重启即可看到效果:

注意在 macOS Big Sur 下,需要填满所有内存位置(内存条容量可以不对称):

OpenCore 延展信息

如果上述 OpenCore 默认配置没有解决你的问题,代表需要手动获取你的内存信息,这里需要用到一个小工具,用于抓取内存信息。

已有40360次阅读

OpenCore 的 CustomMemory 功能有以下字段需要填写,Devices 部分可直接参考规律表即可(AssetTag 和两个序列号可不填)。

  • DataWidth
  • ErrorCorrection
  • FormFactor
  • MaxCapacity
  • TotalWidth
  • Type
  • TypeDetail
  • Devices
    • AssetTag
    • BankLocator
    • DeviceLocator
    • Manufacturer
    • PartNumber
    • SerialNumber
    • Size
    • Speed

获取 DataWidth,在终端中输入:

dmidecode -t memory | grep "Data Width:"

如果你的终端提示 dmidecode: command not found,可以把 dmidecode 拖入终端自动补全路径,然后再输入后续命令。得到以下内容:

Data Width: Unknown
Data Width: 64 bits
Data Width: Unknown
Data Width: 64 bits

以笔者情况为例,Unknown 其实是没有插任何内存条,因此得到 DataWidth 是 64,填上。

 

获取 ErrorCorrection,在终端输入:

dmidecode -t memory | grep "Error Correction Type:"

笔者得到以下信息:

Error Correction Type: None
Error Correction Type: None
Error Correction Type: None
Error Correction Type: None

因此得到 ErrorCorrection 的值是 3,填上。

 

获取 FormFactor,在终端输入:

dmidecode -t memory | grep "Form Factor:"

笔者得到以下信息:

Form Factor: DIMM
Form Factor: DIMM
Form Factor: DIMM
Form Factor: DIMM

因此得到 FormFactor 的值是 9,填上。

 

获取 TotalWidth,在终端输入:

dmidecode -t memory | grep "Total Width:"

笔者得到以下信息:

Total Width: Unknown
Total Width: 64 bits
Total Width: Unknown
Total Width: 64 bits

因此得到 TotalWidth 值是 64,填上。

 

获取 Type,在终端输入:

dmidecode -t memory | grep "Type:"

笔者得到以下信息:

Type: Unknown
Type: DDR4
Type: Unknown
Type: DDR4

因此得到 Type 值是 26,填上。

 

获取 TypeDetail,终端输入:

dmidecode -t memory | grep "Type Detail:"

笔者得到以下信息:

Type Detail: Unknown
Type Detail: Synchronous
Type Detail: Unknown
Type Detail: Synchronous

因此得到 TypeDetail 值是 7,填上。

 

MaxCapacity 指的是最大内存容量,可能的值:

8GB - 8589934592
16GB - 17179869184
32GB - 34359738368
64GB - 68719476736
128GB - 137438953472
256GB - 274877906944

最后贴一个此模拟配置的填写规律表:

已有40360次阅读

你必须按照上面的模拟内存信息进行设置,这个规律表才有效,表中“对应 MacPro 插槽位置”指的是苹果官方的安装位置:

所以,如果是 300 系或 400 系只有 4 个 DIMM 插槽想老老实实填写的,在规律表中找到 3,5,8,10 号对应的位置,即:BANK 0、BANK 2、BANK 6、BANK 8,然后填上容量和频率即可,其它方法以此类推。在 macOS Big Sur 下,需要填满所有位置才不会报错(搭配 RestrictEvents 是否报错未验证,欢迎反馈),内存条容量可以填写为不对称的形式。

 

Clover 默认配置方法

已有40360次阅读

注意 Clover Configurator 里容量中快速选择 8GB 对应的数值是错误的,正确的应该是 8192 ;

完成后,重启即可。

 

Clover 延展信息

笔者有4条内存,插槽序号填写8、5、0、1(对应苹果官方推荐的3、5、8、10号插槽),其它4插槽插满的主板也可以使用同样设置。其它数量应该如何计算插槽序号?MacPro 的内存分为 2 个大组,每个组有 3 个通道,每个通道有 2 个物理插槽,也就是 单通道2插槽 × 3通道 × 2大组 = 总 12 插槽。这里总结一个规律表如下(可能不是所有配置都有效):

已有40360次阅读

各个数量的内存条,具体配置方法可以查看官方指导

 

 

0. 本站所有资源解压密码均为 heipg.cn
1. 本站资源收集于网络,仅做学习和交流使用,请于下载后24小时内删除。如果你喜欢我们推荐的软件,请购买正版支持作者。
2. 如有无法下载的链接,联系:admin#heipg.cn,或到QQ群进行反馈,我们将及时进行处理。
3. 本站发布的内容若侵犯到您的权益,请联系站长删除,联系方式:admin#heipg.cn,我们将第一时间配合处理!

黑苹果星球 » 解决 MacPro7,1 机型开机内存警告问题

21 评论

  1. 已更新macOS Big Sur修补方法,请各位老爷查看:)

  2. big sur 确实失效了

  3. big sur 确实失效了。

  4. Big Sur 又不行了

  5. 帖子里面也说了,这个kext要加上whatevergreen才行

  6. MacProMemoryNotificationDisabler.kext 这个是依赖weg的好吧!没有weg 点关于本机就直接重启了。

    1. 感谢你的提醒

  7. OC引导 ,直接把这个文件放到OC驱动文件夹里面,plist里面添加一下这个kext就可以了。

    1. 我试了不可以耶

      1. 帖子里面也说了,这个kext要加上whatevergreen才行

  8. 两根内存插槽的怎么解决呢

  9. oc的有没有?

  10. 高手,这是一个好方法

发表回复