[2019/11/19更新]OpenCore快速导读
本文最后更新于 2020年08月13日

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的博客

评论

  1. 伸手白嫖
    Windows Chrome
    4年前
    2020-4-17 10:48:38

    300系列主板不是支持原生NVRAM了么?

    • NG6
      伸手白嫖
      博主
      Macintosh Safari
      4年前
      2020-4-17 13:55:48

      @伸手白嫖 是的,本文还没有更新上去

  2. 匿名
    Windows Chrome
    4年前
    2020-3-28 13:48:51

    只能从bios里关闭吗 因为我还有win系统,能把oc替换成clover吗

    • NG6
      匿名
      博主
      Jetpack
      4年前
      2020-3-28 14:27:48

      @匿名 显卡不兼容应该挺难搞的吧,win那边我不清楚,可能要二选一了

  3. 匿名
    Windows Chrome
    4年前
    2020-3-28 12:05:39

    您好,请问一下我装了黑果的10.15.3的系统,用了您的最新的efi,是oc驱动的,我装完之后显卡识别成了独显,只有4m的显存,请问怎么禁用独显啊,找的教程是clover的,不太一样,硬件是i5 8400+b360m迫击炮

    • NG6
      匿名
      博主
      Macintosh Safari
      4年前
      2020-3-28 13:16:20

      @匿名 BIOS里关闭独显,clover和OC用起来方式一样,删掉EFI文件夹换上新的即可

  4. Macintosh Safari
    4年前
    2020-3-26 13:29:20

    你好,按照你的方式,我用Proper tree将plist里的三项删除了。然后一段时间开机确实没有OCS: Failed to parse string field of type 2的错误了。但是现在它又出现了,看还有其他原因吗

    • NG6
      liqianimage
      博主
      Macintosh Safari
      4年前
      2020-3-27 16:32:37

      @liqianimage 那说明是OCC或者其他编辑器自动添加上去的

  5. lili
    Macintosh Chrome
    4年前
    2020-3-19 16:59:35

    OCS:Failed to parse string field of type 2 我还是有这个报错,可是我已经移除了Datahub,PlatfromNVRAM,SMBIOS

    • NG6
      lili
      博主
      Macintosh Safari
      4年前
      2020-3-19 18:34:25

      @lili 我觉得你可能没有操作好,试试新版OpenCore Configurator,已经做了处理Platformlnfo需要部分内容的处理,OC变化挺大的,最好基于新的配置文件修改一下

  6. 匿名
    Macintosh Edge
    4年前
    2020-3-18 10:51:24

    我也是,你解决了么?

  7. wy960812
    Macintosh Chrome
    4年前
    2020-2-15 14:32:17

    感谢分享,使用下来没遇到问题

  8. 匿名
    Macintosh Chrome
    4年前
    2019-12-04 13:45:25

    我主板也是B360M迫击炮 模拟nvram 的时候生成了nvram.plist 但是不完整 add下只有一项 看别人都是两项 你完整么

    • NG6
      匿名
      博主
      Macintosh Safari
      4年前
      2019-12-09 20:35:35

      @匿名 没必要纠结这个,生成了就可以了

  9. 匿名
    Macintosh Chrome
    4年前
    2019-12-01 3:01:47

    OpenCore的GitHub上面,找不到0.5.3版本

  10. hehe
    Macintosh Chrome
    4年前
    2019-11-18 11:42:14

    我使用oc引导,按照上面的方法不能生成NVRAM文件,是怎么回事呢

    • NG6
      hehe
      博主
      Jetpack
      4年前
      2019-11-18 11:45:39

      @hehe 多重启几次,我一开始也是这样,每次开机时多等一会再重启

  11. 匿名
    Macintosh Safari
    4年前
    2019-11-17 20:41:22

    感谢分享
    使用Boot Camp安装windows
    提示:发生内部错误。。不能继续安装,是什么原因如何解决?

    • NG6
      匿名
      博主
      Jetpack
      4年前
      2019-11-18 11:45:08

      @匿名 我没有安装windows所以不太了解,网上找一下案例吧

  12. 匿名
    Windows Firefox
    4年前
    2019-11-15 10:06:03

    最近才发现您的博客,收益匪浅,特意来说一声感谢!

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇