如果你使用的是黑苹果 或者像我一样使用老款的MacBookPro(2013) 你也许用了OpenCore Legacy Patcher升级到了最新的系统 但是有些程序需要你关闭SIP保护,可是你已经从白苹果成为黑苹果 在这种情况下你应该如何关闭SIP保护呢?
| SIP | Configure设置项 |
|---|---|
| CSR_ALLOW_UNTRUSTED_KEXTS (允许不受信任的内核扩展) |
描述:允许从磁盘加载未签名的Kexts Kext Signing 值:0x1 引入于:macOS El Capitan |
| CSR_ALLOW_UNRESTRICTED_FS (允许不受限制的FileSystem) |
描述:文件系统访问Filesystem Protections 值:0x2 引入于:macOS El Capitan |
| CSR_ALLOW_TASK_ FOR_ PID (允许特定进程ID执行任务) |
描述:不受限制的task_ for_pid()任务 值:0x4 引入于:macOS El Capitan |
| CSR_ALLOW_APPLE_INTERNAL (允许苹果内部功能) |
描述:设置Apple内部功能 值:0x10 引入于:macOS El Capitan |
| CSR_ALLOW_UNRESTRICTED_DTRACE (允许不受限制DTRACE) |
描述:不受限制的DTrace使用 值:Ox20 引入于:macOS El Capitan |
| CSR_ALLOW_UNRESTRICTED_NVRAM (允许不受限制的NVRAM) |
描述:不受限制的NVRAM写入 值:0x40 引入于:macOS Ei Capitan |
| CSR_ALLOW_DEVICE_CONFIGURATION (允许设备配置) |
描述:允许自定义设备树 DTrace Restrictions 值:0x80 引入于:macOS El Capitan |
| CSR_ALLOW_ANY_RECOVERY_OS (允许任何恢复操作系统) |
描述:跳过基础系统验证BaseSystem Verification 数值:0x100 引入于:macOS Sierra |
| CSR_ALLOW_UNAPPROVED_KEXTS (允许未批准的KEXTS) |
描述:允许从磁盘中加载未经验证的Kexts 值:0x200 引入版本:macOS High Sierra |
| CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (允许执行策略覆盖) |
描述:重写可执行文件策略 值:0x400 引入于:macOS Mojave |
| CSR_ALLOW_UNAUTHENTICATED_ROOT (允许未经身份验证的根用户) |
描述:允许根卷宗挂载 值:0x800 引入于:macOS Big Sur |
使用以下命令查看SIP
csrutil status
对于yabai的安装,根据官方描述 不同的芯片有不同的关闭SIP的方法
#
# APPLE SILICON
#
# 如果您正在使用苹果芯片 macOS 13.x.x 或 12.x.x
# 需要禁用文件系统保护、调试限制和 NVRAM 保护
#(打印的警告可以安全地忽略)
csrutil disable --with kext --with dtrace --with basesystem
# 1. 重启
# 2. 对于苹果芯片;启用非 Apple 签名的 arm64e 二进制文件
# Open a terminal and run the below command, then reboot
sudo nvram boot-args=-arm64e_preview_abi
#
# INTEL
#
#如果您使用的是Intel macOS 13.x.x、12.x.x或11.x.x版本,
#需要禁用文件系统保护和调试限制(这是一种解决方法,因为--without debug无法正常工作)。
csrutil disable --with kext --with dtrace --with nvram --with basesystem
根据文档描述,需要关闭kext、dtrace、nvram、basesystem 所以如果你使用OpenCore Legacy Patcher安装yabai,需要勾选以下几项
构建好后,重新安装后,重启即可


...