macOS安装过程中最艰难的莫过于后期驱动的完善。诸如dsdt定制,usb补丁等都需要依赖于日志的查看。

此篇完善随笔,接上文安装过程

查看日志

  • 查看登录记录
    last | grep [关键字]

查看重启记录

  • 直接搜索日志log show | grep -i "关键字"

例如:log show --last 1d | grep -i "Wake reason"查看最近一天的唤醒原因;log show --last 1d | grep -i ”hibernate“查看最近一天与休眠相关的事件。

修复

hidpi开启

虽然我已经是4k屏幕了,但是据说开启有加成,项目可见one-key-hidpi。在终端执行命令bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"后重启即可,建议同时打上EDID补丁。

定制USB

睡眠会自动唤醒,查看wake reason则为:

1
2
3
4
5
2020-05-19 14:24:07.119209+0800 0x278b9    Default     0x0                  74     0    powerd: [powerd:sleepWake] Wake reason: "<private>"  identity: "<private>"

2020-05-19 14:24:36.875212+0800 0x74 Default 0x0 0 0 kernel: (AppleACPIPlatform) AppleACPIPlatformPower Wake reason: XHC

2020-05-19 14:24:36.875213+0800 0x74 Default 0x0 0 0 kernel: (AppleACPIPlatform) AppleACPIPlatformPower Wake reason: XHC

此次可以看出是XHC唤醒的系统,查询相关资料得知其与USB控制器有关,遂尝试使用Hackintoll定制USB。于是打上USBInjectALL.kext驱动然后进行定制,多次尝试后将触摸屏幕的usb端口删除,目前一切正常。目前端口情况如下:

Hackintoll

具体步骤可以参考使用Hackintool定制USB端口

移除ntfs磁盘

修复完成自动唤醒后遇到了睡眠无法唤醒的问题,使用log show --last 1d | grep -i ”hibernate“查看休眠相关内容,得到相关结果如下:

1
2
3
2020-05-22 18:55:46.737524+0800 0x2e6      Default     0x0                  0      0    kernel: NTFS-fs warning (device /dev/disk0s1, pid 158): ntfs_system_inodes_get(): Windows is hibernated.  Will not be able to remount read-write.  Run chkdsk.

2020-05-22 19:38:48.631136+0800 0x427 Default 0x0 0 0 kernel: NTFS-fs warning (device /dev/disk0s1, pid 156): ntfs_system_inodes_get(): Windows is hibernated. Will not be able to remount read-write. Run chkdsk.

由此推测可能是我的ntfs文件系统出了些许错误,导致其无法重新挂载到系统上。在Windows下使用chkdsk修复之后仍然无法修复该问题,遂决定直接使用sudo diskutil unmount disk0s1卸载该磁盘(请注意磁盘号)。

将其编写为脚本加入开登录项,赋774权限之后指定默认打开方式即可实现开机即卸载磁盘。

登录项

文件简介

总结

以上均为权宜之策,待我找到更好的解决方案后将会更新我在GitHub的repo。目前刚刚接触hackintosh,我一直认为开源社区最大的优势在于自由的讨论与互相帮助的氛围,如果您有更好的解决方案与意见,还望指出!