300系列主板正确使用AptioMemoryFix-64.efi的姿势(重写版)-hwp,CFG,slide

栏目 黑苹果 发布时间 2020-10-01 人气 

来源: http://bbs.pcbeta.com/viewthread-1819721-1-1.html

TAG:无

简介: 在OsxAptioFix2Drv-free2000的作者自爆出此插件最终会导致设备永久损坏后,对于z390用户来说,换上最新AptioMemoryFix(AMF)已经变成了一件必要的事情,而我之前写的AMF实在有点杂乱无章,让很...


在OsxAptioFix2Drv-free2000的作者自爆出此插件最终会导致设备永久损坏后,对于z390用户来说,换上最新AptioMemoryFix(AMF)已经变成了一件必要的事情,而我之前写的AMF实在有点杂乱无章,让很多人摸不着头脑。我的博客里面的文章也一直希望是给小白用户看的,希望每个人都能看懂,基于我的初衷,我现在重新写一次300系列主板使用AMF的教程。如果你是z390的用户,并且实在需要帮助,也可以来我的qq群里:838739020。
这里我要说明,一些主板在没有任何设置的情况下也可以直接使用aptiomemoryfix,但这并没有完全开启它。你的kernelpm关了吗?你slide值算了吗?你的CFG打开了吗?你真的完全开启了HWP了吗?我说的这些少一样,你都不是在完全使用这个补丁。这些我在之后会说到。


这类补丁的作用就是修复内存,我这里quote下@athlonreg版主的解释:
New set of memory fix drivers.

OsxAptioFixDrv and OsxAptioFix2Drv reverted to rev before 4368 so without NVRAM support. Let them stay here for history. And sometimes OsxAptioFixDrv is only working version for high warped memory map.

OsxAptioFix2Drv is a reduced version without relocation blocks and may not works on some hardware or with older OS version. But this version supported Hibernation while first one no.

OsxAptioFix3Drv is a OsxAptioFix2Drv rev 4369 renamed to be different. This version supported NVRAM. More runtime fixes in 4379. This version can be improved by clover crew in future.

AptioMemoryFix included in the package is third-party memory fix driver used as is. It is probably better then OsxAptioFix*. Choose it for a first attempt.

OsxLowMemFixDrv is also memory fix driver, not improved since rev608.

SIC! These 5 drivers should not be used simultaneously! Choose one of them!

Slice的解释,五选一,AptioMemoryFix优先考虑


事实上,我们的300系列是也许无法使用最优的AptioMemoryFix的,在@黑果小兵的博客中他指出:
300系列主板请于drivers64UEFI目录中移除AptioMemoryFix-64.efi添加OsxAptioFix2Drv-free2000.efi该驱动位于/EFI/CLOVER/drivers-off目录下 或者 Slide值获取及计算

通过作者的官网,我们可以了解到使用这个补丁需要:
  • CFG解锁
  • pmset取消勾选
  • boot argument中添加自行计算出的slide值(参考方法二中黑果小兵的教程,如果不加slide值不卡加号,就别添加任何slide值)
  • BIOS中CSM disabled
  • BIOS中EHCI/XHCI Hand-off enabled
  • BIOS中Above 4G Decoding enabled
  • BIOS中VT-d disabled

在我们开始一系列操作之前,我们必须确保你做了如下的步骤!这是必须一定要做的!
  • 在你的config.plist里勾选kernelPM以及AppleIntelCPUPM


  • 一些主板包括华擎、华硕可以直接在BIOS中开启关闭cfg,若你能在主板中直接选择cfg lock,请确保此时的cfg lock是enable的。
  • 把AptioMemoryFix放入CLOVER/drivers64UEFI下,并删除其他OsxAptioFixDrv-64.efi/OsxAptioFix2Drv-free2000/OsxAptioFix2Drv-64.efi (记得一定要备份!)
  • 下面的操作过程必须按我的写作顺序来!




1.计算slide数值
在做完准备工作后,我们开机一般会碰到卡+号,如果没有碰到,恭喜你!你不需要计算slide值,AMF具有自动计算slide值的功能,如果它能让你直接过去那是最好的,不行的话,还是要自己算,算的方法由黑果小兵提供,原贴:https://blog.daliansky.net/Slide ... nd-calculation.html
把自己的slide值添加到boot arguments后,
下图为黑果小兵给出的截图



值得提到的是,如果你在开机进入clover界面中无法看到UEFI Shell的选下,你需要执行:
  • 首先确保你的EFI/Clover/下面有tools这个文件夹,以及文件夹中有uefi shell的工具,如果没有,请安装一遍最新的CLOVER即可!
  • config.plist中,在gui选项栏中打开tools:

  • 执行上两步还是没有的话,换一个黑果小兵提供的主题文件。

  • 在外国的一些slide教程中,并没有要求Start列的值比10000000大,所以我把这个条件去掉了,在计算过程中,我得出了2组符合条件的slide值,其中slide=1以及252是符合我的,这里说一下slide=1是一个比较通用的数值,也不妨试试。




2.解锁BIOS中的CFG功能

解锁bios并不一定需要我下面那么复杂的方法!如果你的主板是华硕华擎的,你可以直接在bios中看到CFG Lock这个选项,选择disable即可,你不需要看我的第二步了。CFG Lock disable的意思说是说cfg的锁关闭,也以为这cfg功能开启。一些主板如果只显示cfg,那应该选择开启,你要理解其中的双重否定,我们的最终目的是开启cfg功能!

如果你的bios没有cfg的相关选项,你需要跟着我写的方法来,此过程中你需要一个空U盘!
首先你需要在你的config.plist中添加你刚才计算出来的slide值,我的是slide=1 (图片是用的以前的,给大家看一下添加位置而已)。


在MAC的桌面上新建一个叫CFG的文件夹,并将以下三个文件放入此目录
  • ifrextract
  • UEFITool
  • 你正在使用的BIOS文件。这个可以从官网下载,比如我是技嘉的z390-elite,正在使用的是F7这个版本的BIOS, 官网下载解压得到Z390AE.F7这个文件
至此,在桌面创建的CFG文件夹中应该有如图三个文件:



打开terminal(终端)输入以下命令

cd ~/Desktop/CFG
./UEFITool.app/Contents/MacOS/UEFITool ~/Desktop/CFG/Z390AE.F7



其中Z390AE.F7你需要替换成你的BIOS的文件名。

输入命令后我们可以看到如下界面,并在此见面中按Command+F,搜索Text"CFG Lock“




我们可以在最下面的输出栏中看到搜索到的结果,双击它就能得到指定的目录中,右键extract body,并保存文件名为PE32Section.efi到我们桌面上的CFG文件夹。






回到terminal, 我们再键入如下指令,将PE32Section.efi转换为txt文件:
cd ~/Desktop/CFG
./ifrextract PE32Section.efi PE32Section.txt

打开CFG文件夹下的PE32Section.txt文件,我们Command+F搜索”CFG Lock“


我们找到如下数值:
  1. One Of: CFG Lock, VarStoreInfo (VarOffset/VarName): 0x5C1, VarStore: 0x1
复制代码

其中CFG Lock的Varname是0x5C1,对应的设置0x1。我们理解0x1是等于“锁定",而解锁应该是”0x0",所以接下来我们需要把CFG解锁。


将U盘插入MAC,用磁盘工具将U盘格式化为fat32格式,命名为EFIBOOT:



下载modGRUBShell.efi(在最下面的下载链接里有), 并重命名为bootx64.efi 在U盘内创建一个EFI文件夹,并再在此文件夹下创建文件夹BOOT,并将bootx64.efi放入BOOT下:



重启电脑,我们通过UEFI启动此U盘进入GRUB shell


在GRUB shell中输入
  1. setup_var_3 0x5C1
复制代码

其中0x5C1是我们之前从PE32Section.txt得到的Varname,输入后,我们可以看到你当前主板的CFG是锁住的,值为0x1。

图片中因为我已经改好了,所以是0x00 我们再输入
  1. setup_var_3 0x5C1 0x00
复制代码

这样,我们就可以把CFG解锁了。



注:一些主板可能不适setup_var_3命令,请使用setup_var

  1. setup_var 0x5C1

  2. setup_var 0x5C1 0x00
复制代码


3.取消勾选kernelpm以及AppleIntelCPUPM

在准备工作中我们勾选了这两项,现在回去把这两个勾去掉!重启即可!


4.最终确认

我们可以通过hackintool来查看cfg是否解锁:
  • 点开工具
  • 点击intel图标,输入密码,等待输出结果
  • 在结果报告中找到cfg lock这项,我们看到它已经是解锁了(not locked)







你所需要的文件:

UEFITOOL,请下载“UEFITool_NE_A55_mac.zip”:https://github.com/LongSoft/UEFITool/releases
modGRUBShell.efi,https://github.com/datasone/grub-mod-setup_var/releases















6

资源来源网络,若未解决请查看原文

本站资源全部都是收集于网络如有侵权请发邮件至:admin@heimacode.com 我们会尽快处理侵权内容 。