安装后的系统设置
系统安装后,你可以先喝杯咖啡兴奋会儿,马上还有更艰巨的任务在等着你呢
先打开终端,输入几行命令:
sudo spctl --master-disable # 启用macOS安装应用允许任何来源sudo kextcache -i / # 重建缓存
如果出于某些原因,在/System/Library/Extensions/或者/Library/Extensions/修改了某些驱动,请使用以下命令重建缓存:
sudo chown -R root:wheel /System/Library/Extensions/sudo chmod -R 755 /System/Library/Extensions/sudo kmutil install --update-allsudo kcditto
将U盘中的EFI复制进硬盘
工具篇
目的是脱离U盘引导使用macOS,所以它是最优先需要执行的动作
最简单的方法:使用工具Hackintool,如图所示:
· 打开Hackintool工具,点击磁盘图标
· 点击挂载图标,输入用户密码
· 分别点击挂载固态硬盘和安装U盘的EFI分区,并打开文件夹
· 将U盘的EFI分区中的EFI目录复制到固态硬盘的EFI分区里即可
命令行篇
查看磁盘分区表
diskutil list
/dev/disk0(internal, physical):
#: | TYPE | NAME | SIZE | IDENTIFIER |
---|---|---|---|---|
0: | GUID_partition_scheme | 256 GB | disk0 | |
1: | EFI | 200 MB | disk0s1 | |
2: | Apple_APFS | Container disk1 | 128 GB | disk0s2 |
3: | Microsoft Basic Data | WIN10 | 127.7 GB | disk0s3 |
/dev/disk2(external, physical):
#: | TYPE | NAME | SIZE | IDENTIFIER |
---|---|---|---|---|
0: | GUID_partition_scheme | 16 GB | Disk2 | |
1: | EFI | EFI | 200 MB | disk2s1 |
2: | Microsoft Basic Data | PE | 716.8MB | Disk2s2 |
3: | Apple_HFS | Install macOS Big Sur | 15.8 GB | Disk2s3 |
挂载固态硬盘EFI分区
sudo diskutil mount disk0s1
挂载U盘EFI分区
sudo diskutil mount disk2s1
打开Finder,注意后面有个.
open .
左侧会显示挂载了两个EFI分区,将U盘EFI目录全部复制到磁盘的EFI分区即可。
完善驱动
刚安装完的系统,只能算是万里长征走完的第一步,对于驱动部分的完善才是重中之重。除非你有相同机型的EFI可供借鉴,否则请耐心阅读下面的内容。
显卡:
在所有的驱动里,显卡驱动是应该最优先解决的。
参考的文章:
· 黑苹果必备:Intel核显platform ID整理
· 利用Hackintool工具驱动核显
· 利用Hackintool打开第8代核显HDMI/DVI输出的正确姿势
· 醉渔小站:使用 WhateverGreen 驱动 Intel 核显
· WhateverGreen: 英特尔® 核芯显卡 常见问答
网卡
如果幸运的话,安装好的黑苹果系统默认已经支持有线网线的连接了,这是因为它内置的通常都是RTL8111或者INTEL等的驱动,而无线网卡的驱动就需要单独添加
博通:
绝大多数的博通(Boardcom)可以得到免驱或者通过添加驱动得到支持;
· DW1820A/BCM94350ZAE/BCM94356ZEPA50DX插入的正确姿势
INTEL:
感谢 OpenIntelWireless[7] 提供 AirportItlwm[8],HeliPort[9] 和 itlwm[10]
感谢stevezhengshiqi[11]更新维护的 驱动内置英特尔无线网卡[12]
准备
在这个教程里,我们将介绍两种方式来驱动我们的英特尔无线网卡。
· 使用 itlwm 和 HeliPort
· 使用 AirportItlwm
如果想使用 AirportItlwm 和 itlwm, 您可以从以下链接来下载最新 releases:
· https://github.com/OpenIntelWireless/itlwm/releases
如果想使用 HeliPort, 您可以从以下链接来下载最新 releases:
· https://github.com/OpenIntelWireless/HeliPort/releases
如何使用
使用 itlwm 和 HeliPort
· 首先,进入系统偏好设置 - 网络 - Wi-Fi,关闭在菜单栏中显示 Wi-Fi 状态。
· 然后,解压所有下载的包并拷贝 itlwm.kext 到 /EFI/CLOVER/kexts/Other/ 或者 /EFI/OC/Kexts/。
· 如果您是 OC 用户,您需要添加以下代码到 config.plist:
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>itlwm.kext</string>
<key>Comment</key> <string>Intel Wi-Fi
driver</string> <key>Enabled</key> <true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/itlwm</string>
<key>MaxKernel</key> <string></string>
<key>MinKernel</key>
<string>16.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
· 重启,然后移动 HeliPort.app 到您的 应用程序 文件夹。
· 打开 HeliPort.app,完成。
· 您需要先允许任意来源。
· 打开 终端.app 并运行 sudo spctl --master-disable。
使用 AirportItlwm
· 首先,确保你的 macOS 版本 >= 10.15,此教程只涵盖 OpenCore 引导。
· 移除 itlwm 和 HeliPort 并进入系统偏好设置 - 网络 - Wi-Fi 打开 在菜单栏中显示 Wi-Fi 状态。
· 然后,解压下载的包并拷贝 AirportItlwm.kext 到 /EFI/CLOVER/kexts/Other 或者 /EFI/OC/Kexts/。
如果是 Clover 用户
· 打开 /EFI/CLOVER/config.plist 并在 KernelAndKextPatches - ForceKextsToLoad 里添加以下代码:
<key>ForceKextsToLoad</key>
<array>
<string>SystemLibraryExtensionsIO80211Family.kext</string>
</array>
如果是 OpenCore 用户
· 打开 /EFI/OC/config.plist 并更改以下代码:
<dict>
<key>Arch</key> <string>x86_64</string>
<key>BundlePath</key>
<string>AirportItlwm.kext</string>
<key>Comment</key> <string>Intel Wi-Fi
driver</string> <key>Enabled</key>-
<false/>+ <true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AirportItlwm</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>19.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string></dict>
· 同时,修改 SecureBootModel 来允许加载 immutablekernel。如果您的 macOS 版本 >= macOS11 (KernelCollection),就不需要做以下步骤:
<key>DmgLoading</key>
- <string>Any</string>
+ <string>Signed</string>
<key>SecureBootModel</key>
- <string>Disabled</string>
+ <string>Default</string>
· 如果上述方法不管用,还原对 DmgLoading 和 SecureBootModel 的修改,然后强制加载 IO80211Family。打开 /EFI/OC/config.plist 并更改以下代码:
<key>Force</key>
<array>
<dict>
<key>Arch</key>
<string>Any</string>
<key>BundlePath</key>
<string>System/Library/Extensions/IO80211Family.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
- <false/>
+ <true/>
<key>Identifier</key>
<string>com.apple.iokit.IO80211Family</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/IO80211Family</string>
<key>MaxKernel</key>
<string>19.99.99</string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
</array>
· 如果你是 macOS10.13 用户,你还需要强制加载 corecapture.kext。在 IO80211Family.kext 条目前添加以下代码:
<dict>
<key>Arch</key>
<string>Any</string>
<key>BundlePath</key>
<string>System/Library/Extensions/corecapture.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>Identifier</key>
<string>com.apple.driver.corecapture</string>
<key>ExecutablePath</key>
<string>Contents/MacOS/corecapture</string>
<key>MaxKernel</key>
<string>17.99.99</string>
<key>MinKernel</key>
<string>17.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
声卡
· AppleALC声卡仿冒ID查询
· 利用hackintool工具驱动你的声卡声卡仿冒教程:使用AppleALC
· 声卡仿冒驱动AppleHDA的正确姿势
通常台式机的声卡可以尝试注入ID:layout 1, 2, 3, 5, 7, 11
笔记本的声卡ID需要注入正确的ID:AppleALC声卡仿冒ID查询
其它驱动
@宪武 提供的hotpatch的全套方法:
适用于CLOVER 的 P-little[;适用于 OpenCore 的 OC-little