macOS Big Sur 11.3 安装HoRNDIS实现Android网络共享

发布于 — 2021 年 05 月 15 日

HoRNDIS项目地址:https://github.com/jwise/horndis

方案一(黑苹果):注入驱动

该方案要求有线网可用。

  1. 下载pkg,安装后通过终端从/Library/Extensions复制HoRNDIS.kext

  2. 挂载EFI分区,进入OC/Kexts文件夹,粘贴HoRNDIS.kext

  3. 将HoRNDIS.kext加入config.plist。 此处以OC Configurator为例,用OCC打开config.plist,在Kernel-Add点右下角加号,添加如下内容: Arch:AnyBundlePath:HoRNDIS.kextExecutablePath:Contents/MacOS/HoRNDISPlistPath:Contents/Info.plist

  4. 保存重启即可

方案二

  1. 下载kext,终端输入spctl -a -vv -t install,然后空格,拖拽你下载的kext到终端,回车

  2. 记下终端返回的origin括号内的那串字母数字

  3. 重启到恢复模式,终端输入 csrutil disable/usr/sbin/spctl kext-consent list

  4. 若上面的ID不在列表中,输入: /usr/sbin/spctl kext-consent add 54GTJ2AU36

  5. 回车,命令执行完毕后重启系统

  6. 终端输入 sudo susqlite3 /var/db/SystemPolicyConfiguration/KextPolicydelete from kext_load_history_v3 where team_id='54GTJ2AU36';delete from kext_policy where team_id='54GTJ2AU36';.quitcd /Library/Extensionsrm -rf HoRNDIS.kext

  7. 下载并安装pkg,随后在设置-安全隐私中允许该拓展

  8. 重启检测是否可用

附:黑苹果停用SIP

原文链接

SIP,或更准确地,称为系统完整性保护,是一种安全技术,旨在防止任何恶意软件和最终用户损坏操作系统。首次引入于OS X El Capitan中,随着时间的推移,SIP已经发展到控制macOS中越来越多的内容,包括限制对受限文件位置的编辑以及使用kextload加载第三方内核扩展(OpenCore不受影响,因为内核扩展会在启动时注入)。为了解决这个问题,苹果提供了许多配置选项,在NVRAM变量csr-active-config中可以设置这些选项,在macOS恢复环境或OpenCore的NVRAM部分中都可以进行设置(后者将在下面讨论)。

  • 警告:禁用SIP可能会破坏操作系统功能(例如macOS 11 Big Sur及更新版本的软件更新)。请小心谨慎地仅禁用特定的SIP值而不是直接禁用SIP以避免出现这些问题。
    • 启用“CSR_ALLOW_UNAUTHENTICATED_ROOT”和“CSR_ALLOW_APPLE_INTERNAL”是常见选项,可能会破坏用户的操作系统更新

您可以选择不同的值来启用或禁用SIP的某些标志。帮助您完成此任务有一些有用工具CsrDecode(新窗口)csrstat(新窗口)。常见的值如下(字节已经进行了十六进制交换,注意它们位于NVRAM-> Add-> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> csr-active-config下):

  • 00000000 - SIP完全启用(0x0)。
  • 03000000 - 禁用内核扩展签名(0x1)和文件系统保护(0x2)。
  • FF030000 - 禁用macOS High Sierra中的所有标志 (opens new window)(0x3ff).
  • FF070000 – 在 macOS Mojave (opens new window)macOS Catalina (opens new window) 中禁用所有标志(opens new window)(0x7ff),因为苹果引入了一个可执行策略值。
  • FF0F0000 – 在 macOS Big Sur 中禁用所有标志(opens new window)( 0xfff),其中还有一个新的验证根标志(opens new window)

注意: 与Clover相比,使用OpenCore禁用SIP有很大的不同,特别是NVRAM变量不会被覆盖,除非在“Delete”部分明确告知。因此,如果您已经通过OpenCore或macOS设置了SIP,则必须覆盖该变量:

  • NVRAM-> Delete -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> csr-active-config

注:delete里面的这个csr-active-config 是要有才可以改SIP状态,如果没有,请加上。

感谢

  • 感谢Leandro Borges制作维护我设备的EFI并解答我的问题
  • 感谢Joshua Wise开发HoRNDIS驱动,bisaalz提供方案一、Velolong提供方案二