前两天的《ThinkPad T450s 黑苹果升级(后续)》中,初步解决了登录进入系统的问题,不过仍有使用上的不便需要进一步处理。第一,就是图形界面响应极为迟钝,很显然,显卡驱动方面确实尚不到位;第二就是那个无法登录的用户,是否以及如何才能抢救回来。
为了叙述方便,我把一开始升级成功时采用的 EFI 称为第一版本,简称 E1,后面找到的、测试离线新建用户成功的 EFI 称为第二版本,即 E2。当然,前文里其实也已经透露出,最后发现无论是 E1 还是 E2,都不能使得升级前已经存在的用户登录进入桌面,而离线新建的用户无论是用 E1 引导还是 E2 引导,也都能进入桌面。
区别在于,E1 的相关资料、讨论中,均未有进一步处理图形性能的内容,而 E2 的说明里则非常清晰地包括了此部分的内容。简而言之,其核心症结以及相应的处理手法如下:
- 为了能够顺利安装 macOS Sequoia,需要在 OpenCore 的
config.plist中将 T450s 伪装为一台 MacBookPro16,3 设备; - 安装成功后,图形处理方面是不完善的;此不完善之处,需要借用 OpenCore Legacy Patcher(也即 OCLP)来进行完善;
- 而由于 OCLP 运行时,是自动检测当前设备以进行修补,那么就不能让它把 T450s 识别为伪装的 MacBookPro16,3 设备,而要设别为真正与 T450s 匹配(接近)的 MacBookPro12,1,否则修补就会错位;
- 上述矛盾,需要借用 macOS Sequoia 的 USB 安装盘来解决:把安装盘上 EFI 里的伪装设备从 MacBookPro16,3 改为 MacBookPro12,1,并使用它把安装好的 macOS Sequoia 引导起来,这时执行 OCLP;
- 执行完毕后,把安装盘的 EFI 同步到硬盘上的 EPS 分区里,应该就告功成了;
再按照上述理解进行操作后,macOS 从硬盘引导起来就完全正常了,而且之前不能登录的那个用户自动就复活了。不过在过程中,也遇到了两个问题,记录于下。
第一就是出于已经形成的认知,认为 E1 和 E2 版本的 EFI 尽管不一样,但其功效应该无甚差别,因此在 USB 安装盘的 EFI 是 E1 的情况下,按照对 E2 文档的理解,直接把伪装设备的型号(以及序列号等)从 MacBookPro16,3 改为 MacBookPro12,1,但这样改后用 E1 引导硬盘上的 macOS 会失败。把 USB 安装盘上的 EFI 从 E1 替换为 E2 并设置型号等信息后,再次引导硬盘上的 macOS 则成功了。
第二是在引导成功后,执行 OCLP 时发生了错误,报 Unable to resolve dependencies: 'com.rim.driver.BlackBerryUSBDriverInt' names a dependency on 'com.apple.iokit.IOUSBMassStorageClass', which was not found.。在网络上搜索到此处,根据一名为 Rochmind 的回答,到 /Library/Extensions 下,把两个以 RIMBB 开头的内核扩展模块移走了,再尝试 Post-Install Patch 就顺利成功了。
