nMBP 用户升级 10.12.3 指南
很显然最近的 nMBP 用户在 10.12.2 普遍遭遇了 Safari/Chrome 奔溃的困扰, 然而 10.12.3 的累计更新暂未释出, 意味着正式版用户还要忍受相关 bug 一段时间; 而从上一个 10.12.1 的经历也基本证明这几个月 Beta 版本似乎还是相对正式版有稳定性上的优势. 所以这次 Beta 升级还是很有吸引力的.
但是问题在于, 不少 MacBook Pro 用户解锁了自己的 SIP 以实现 TouchID-sudo
和 tb3-enabler
等工具. 而更新系统会导致 SIP 重新打开. 所以必须通过进入 recovery (开机按住 ⌘ + R
) 的终端命令 csrutil disable
开启.
而又存在的一个问题在于, tb3-enabler
这个项目严格检查 patch 前后的 KEXT 文件 MD5, 这就意味着更新了系统之后这个工具就失效了. 出乎懒惰和由于对 python2 的不信任(外加这个代码最早是给当年的换 SSD 开 trim 用的, 有了点年头, 而且写了一堆异常), 表示还是不希望改了.
在此提供一个相对不是那么安全但是能用的方法开启第三方 Thunderbolt 3 设备支持.
Manually Enable Thunderbolt 3 Devices
下载 Hex Fiend,
brew install Caskroom/cask/hex-fiend
.打开 Hex Fiend, 选择 File - Open File, 使用组合键
⌘ + Shift + G
, 输入路径/System/Library/Extensions/IOThunderboltFamily.kext/Contents/MacOS/IOThunderboltFamily/IOThunderboltFamily
手动备份, 另存为
IOThunderboltFamily.backup
这样的文件放在原来的目录, 并重新打开IOThunderboltFamily
.使用组合键
⌘ + F
,将:\x55\x48\x89\xE5\x41\x57\x41\x56\x41\x55\x41\x54\x53\x48\x81\xEC\x38\x01
替换为:
\x55\x48\x89\xE5\x31\xC0\x5D\xC3\x41\x55\x41\x54\x53\x48\x81\xEC\x38\x01
通过⌘ + S
保存, 系统会弹出权限请求, 输入密码以继续.打开终端, 执行:
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
至此重启即可.