目录
OpenCore引导是黑苹果的未来的发展趋势
众所周知,clover是目前黑苹果引导的主力,但clover的历史包袱太重,前期规划不够长远,每次新的macOS版本出来后都需要更新clover。是时候放弃clover转向OpenCore了
OpenCore配置
OpenCore目前配置起来还比较复杂(和clover差别还是挺大的,不能完全按照clover的思路来),详细的配置请参考xjn的这篇文章,我主要补充一些大家容易忽略的地方
入门请看我上一篇文章
OpenCore常用驱动及文件下载地址
OpenCore引导 https://github.com/acidanthera/OpenCorePkg
OpenCore部分驱动 https://github.com/acidanthera/AppleSupportPkg
模拟SMC https://github.com/acidanthera/VirtualSMC
显卡驱动 https://github.com/acidanthera/WhateverGreen
声卡驱动 https://github.com/acidanthera/AppleALC
核心插件 https://github.com/acidanthera/Lilu
Intel有线网卡驱动 https://github.com/acidanthera/IntelMausi
OpenCore shell https://github.com/acidanthera/OpenCoreShell
USB驱动 https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/
从clover转向OpenCore你需要注意的地方
第一个就是,如果你之前是模拟NVRAM,请一定一定要删除RC脚本
删除这些文件(sudo),重启时在clover引导界面按F11删除nvram,不开机选择关机,插入OpenCore引导优盘启动系统
/Volumes/EFI/nvram.plist
/etc/rc.clover.lib
/etc/rc.boot.d/10.save_and_rotate_boot_log.local
/etc/rc.boot.d/20.mount_ESP.local
/etc/rc.boot.d/70.disable_sleep_proxy_client.local.disabled
/etc/rc.boot.d/80.save_nvram_plist.local
/etc/rc.boot.d
/etc/rc.shutdown.d
OpenCore生成NVRAM
如果是使用我的EFI,则无需开启模拟NVRAM,已开启Z390,B360等主板设备的原生NVRAM
输入sudo defaults write 把LogoutHook.command文件拖入终端后按回车,重启电脑几次即可生成NVRAM(注意不能删除或者移动LogoutHook.command这个文件),这个文件在OpenCore的这个位置
# 示例
sudo defaults write com.apple.loginwindow LogoutHook /Users/XXX/Documents/LogoutHook/LogoutHook.command
如果不小心弄错了,使用这条命令删除即可
sudo defaults delete com.apple.loginwindow LogoutHook
第二点
由于OpenCore不能再使用之前clover的内存补丁,这导致我们可能需要手动计算出slide值,计算slide值请参考黑果小兵的这篇文章
https://blog.daliansky.net/Slide-value-acquisition-and-calculation.html
一部分主板是不需要在boot-args里填写slide值的,一部则需要,我这里举两个例子,比如我的B360M迫击炮主板,slide值就是129,大部分z390主板使用MemoryAllocation.efi后slide值填写为1就可以,似乎Z370,Z270这些支持原生NVRAM的可以不用填写slide值直接进入系统
双系统
两个macOS是不需要设置什么的,windows的话OpenCore官方推荐使用Boot Camp安装windows
2019/11/19更新
OpenCore Configurator 1.8.0.0下打开config.plist会自动生成UnblockFsConnect键值,这个键值是在OpenCore-0.5.3版本出现的,OpenCore-0.5.2是没有这个键值的,所以启动时会报错,但是也是可以启动系统的,所以如果你用的是OpenCore-0.5.2及OpenCore-0.5.2以下版本,请使用Xcode删除这个键值
# 报错提示
OCS:no schema for unblockfsconnect at index11
另一个就是OCS: Failed to parse string field of type 2这个报错的处理
提示出现这个错误的原因是因为OpenCore Configurator生成的系统信息会自动生成如图Datahub,PlatfromNVRAM,SMBIOS这个几个item(OpenCore-0.5.2自带的Sample.plist是没有这几个item的),这几个是不需要的,手动删除这个三个item后就不会报错:Failed to parse string field of type 2
请在Xcode里删除图内这三个item【Datahub,PlatfromNVRAM,SMBIOS】
OpenCore Configurator并非牛鬼蛇神不能用
我看网上很多人,包括很多大神都不推荐使用OpenCore Configurator,是的,却是的,OpenCore Configurator会经常擅作主张,瞎添加item,键值,导致各种报错,但是完全可以凭借其官方日志,了解他新版本更新了什么,从而得到解决方案。
比方说OpenCore Configurator 1.8.0.0自动添加UnblockFsConnect这个键值,导致OCS:no schema for unblockfsconnect at index11报错,只要删除这个键值就可以解决这个问题(或者升级到还在开发中的OpenCore-0.5.3),OpenCore Configurator带来的方便远大于他带来的不便,目前这个版本我只发现了这两个问题OpenCore Configurator,解决方案我在上面都已经给出来了,所以放心大胆的用吧,能省下你不少的时间
OpenCore Configurator生成系统信息
我来简单说一下吧,OpenCore Configurator生成系统信息生成的系统信息包含如图内容,直接使用OpenCore Configurator生成的系统信息会报错
在Xcode 里删除【Datahub,PlatfromNVRAM,SMBIOS】这三个item就没有问题了
未完待续
今天就先写这么多,有空再更新
本文由 NG6 于2019年10月31日发表在 sleele的博客
如未特殊声明,本站所有文章均为原创;你可以在保留作者及原文地址的情况下转载
转载请注明:[2019/11/19更新]OpenCore快速导读 | sleele的博客
300系列主板不是支持原生NVRAM了么?
@伸手白嫖 是的,本文还没有更新上去
只能从bios里关闭吗 因为我还有win系统,能把oc替换成clover吗
@匿名 显卡不兼容应该挺难搞的吧,win那边我不清楚,可能要二选一了
您好,请问一下我装了黑果的10.15.3的系统,用了您的最新的efi,是oc驱动的,我装完之后显卡识别成了独显,只有4m的显存,请问怎么禁用独显啊,找的教程是clover的,不太一样,硬件是i5 8400+b360m迫击炮
@匿名 BIOS里关闭独显,clover和OC用起来方式一样,删掉EFI文件夹换上新的即可
你好,按照你的方式,我用Proper tree将plist里的三项删除了。然后一段时间开机确实没有OCS: Failed to parse string field of type 2的错误了。但是现在它又出现了,看还有其他原因吗
@liqianimage 那说明是OCC或者其他编辑器自动添加上去的
OCS:Failed to parse string field of type 2 我还是有这个报错,可是我已经移除了Datahub,PlatfromNVRAM,SMBIOS
@lili 我觉得你可能没有操作好,试试新版OpenCore Configurator,已经做了处理Platformlnfo需要部分内容的处理,OC变化挺大的,最好基于新的配置文件修改一下
我也是,你解决了么?
感谢分享,使用下来没遇到问题
我主板也是B360M迫击炮 模拟nvram 的时候生成了nvram.plist 但是不完整 add下只有一项 看别人都是两项 你完整么
@匿名 没必要纠结这个,生成了就可以了
OpenCore的GitHub上面,找不到0.5.3版本
我使用oc引导,按照上面的方法不能生成NVRAM文件,是怎么回事呢
@hehe 多重启几次,我一开始也是这样,每次开机时多等一会再重启
感谢分享
使用Boot Camp安装windows
提示:发生内部错误。。不能继续安装,是什么原因如何解决?
@匿名 我没有安装windows所以不太了解,网上找一下案例吧
最近才发现您的博客,收益匪浅,特意来说一声感谢!