?

以前也安装过黑苹果,最早是在E540上安装的snowleopard系统,当时还是折腾的clover引导方式,那时候也仅限于驱动,安装基本上能使用,把工作迁移到mac上还是有些不现实。后来在acer台式机和一台asus的H310组装机器上安装Big Sur和10.15,开始接触到oc引导了。虽然部分工作能迁移到mac上,但是基本还是以玩票性质为主,efi也基本是套用或者闭门增减的方式,没有任何修改或者定制的经验与心得。

最近在soarsea双影上面开始装mac,过程中自己还尝试在长城一体上安装mac,都顺利安装成功了。soarsea电脑基本还是用小兵的成品efi,而长城一体就纯粹是自己从无到有亲手配置出来,虽然到现在为止,还有很多地方未达到满意的效果,但是整个亲手配置的过程中有一些心得还是需要记录下来。感觉来:OC的配置比clover相对来说要方便很多。

10代u带核显以及以前的机器(8-10代最好)配置黑苹果进入安装到桌面应该是比较容易的,难度在于后期的硬件驱动完美配置。11代和12代的核显已经是废了(M1出来就mac原生就与intel芯片基本无缘了),借助独立显卡可以实现,无独立显卡则就不用折腾了。

一、基础工具及指导文件:

1、手动配置efi的指导站点:https://dortania.github.io/OpenCore-Install-Guide/prerequisites.html#prerequisites

2:OpenCore官方站点:https://github.com/acidanthera/OpenCorePkg/releases,解压后备用。

3:Config.plist配置文件编辑器OCAuxiliaryTools ,windows版本和mac版本都有,下载站点:https://github.com/ic005k/OCAuxiliaryTools/releases,注意,下载opencore的版本最好跟ocat版本对应,否则读取config.plist配置的时候可能会出现未知错误并且影响启动。

4:usb端口驱动kext文件:https://github.com/USBToolBox/kext/releases

5:usb端口定制工具:https://github.com/USBToolBox/tool/releases,该工具windows版本和mac版本都有。

二、配置自己的efi文件:

1、解压下载的opencore文件,

1.1、解压后把x64\efi目录复制到桌面,这个efi就是启动所需要的文件夹。

1.2、把\docs文件夹中的sample.plist文件复制到 efi\oc\下面,并重新命名为config.plist文件。下面所有的配置文件均是指这个文件。

1.3、把EFI\OC\Drivers下面的文件内容除了OpenRuntime.efi和OpenHfsPlus.efi之外全部删除(对于OpenHfsPlus.efi,也可以去下载HfsPlus.efi,一个开源,一个闭源,也有说闭源的这个好,两者只要保留一个);还有一个文件:OpenCanopy.efi,这个文件是oc的主题支持需要的,如果需要主题,那么这个文件必须有,其他的根据需要对照官方手册上去查看是否有必要,一般安装的阶段之需要上面两个efi文件就够了。

2、根据自己的cpu架构(比如10代intel的架构为:Comet Lake)从网站左侧的导航栏 configs\Intel Desktop config.plist\Comet Lake\start point开始,按照导航页面一步一步修改配置文件(文件可以后续下载,先修改配置),修改config.plist文件可以用ocat来修改,或者也可以用指导站点上的propertree来修改(该文件需要系统安装python,自行下载安装)

配置文件中需要修改的包括:

? ? ACPI
? ? Booter
? ? DeviceProperties
? ? Kernel
? ? Misc
? ? NVRAM
? ? PlatformInfo
? ? UEFI

逐一按照上面的内容来修改。其中ACPI阶段需要根据自己的架构下载对应的aml文件,具体需要下载那些文件,参考:https://dortania.github.io/Getting-Started-With-ACPI/ssdt-platform.html#desktop上面的表格说明,将这些aml文件放置在/EFI/OC/ACPI文件夹下。

3、修改bios一些配置,同样参考该导航栏的下面的intel bios setting。关于cfglock以及vt-d的参数可以在oc中直接参数修改,而不需要采用cfglock方式来硬修改。(主要是有些bios中把这些设置隐藏了,无法直接修改),当然也可以用一些cfglock的软件来直接修改bios中的数据(风险比较大)

4、获取组织文件,同样在指导手册的导航栏:Gathering files\Kexts\中获取,主要获取的必要文件包括:Lilu,VirtualSMC,WhateverGreen,另外根据自己的需要可以下载AppleALC(仿冒声卡,建议下载),网卡驱动,(网卡建议暂时不要添加,除非你确定型号而且能驱动的话,否则不建议)。把这些kext文件复制到啊 EFI/OC/Kexts目录下。

5、到这一步的时候,其实efi就可以作为引导系统安装了,这时候有可能有两个问题,

5.1、也不知道是ccmac导入方式的问题,还是oc下载版本错误,有时候efi的目录下面是一个ocboot和oc的文件夹,正确的应该是boot和oc文件夹,在boot文件夹下面应该存在bootx64.efi文件,此处要检查。

5.2、有时候顺利进入了安装界面,却发现usb鼠标键盘不正常,不动。

5.3、如果上述两个问题都没有,那么可以直接安装mac系统到你的硬盘上了,安装的方式推荐ccmac,windows下面非常便捷的安装,但是需要注意安装的时候分区硬盘查看仔细。

6、安装前其实可以做下面这个关键的步骤,就是usb端口定制。如果不定制,就可能遇到上面5.2条的问题,那么基本上就是usb接口出现了问题导致。而且这个定制在后面也必须,否则很可能出现问题。可以用上面软件USBTool来定制,因为它有windows版本,在安装前就可以顺利定制好。

定制usb端口:首先运行工具中的windows.exe,第一步,选择d,检测端口,这时候就会出现机器上所有usb端口的列表,而且每5秒钟会刷新。第二步:找一个usb2.0的设备(u盘),一个usb3.0的设备(u盘),如果接口上有type-c的,那么还需要找一个type-c的设备(比如手机),在上面usb端口的列表页面状态下,逐一将usb接口分别用2.0和3.0的设备插入,每次插入的时候,查看列表状态5秒刷新后,根据自己的设备名称找到该插入口的端口号,比如4,比如10,比如17等等,该端口号数值为10进制,不是16进制。将找到的端口号记录下来。

一些要点:

a)每个插口都分别用usb2.0和usb3.0的设备分别插一次,对于usb3.0的插口,插入2.0设备的时候的端口跟插入usb3.0的端口一般是两个不同的端口号,表示该插口同时支持2.0和3.0。要分别记录2.0的端口号和3.0的端口号。(usb3.0的接口类型是usb3)

b)对于2.0的usb口在插入3.0的设备的时候提示 operation on usb 2.0之类的提示,那么就表示该接口只支持2.0,那么就只需要记录一个端口号。(usb2.0的接口类型是usb2)

c)对于type-c的端口,需要将插口正反两次插入,如果两次插入都能正确识别,那么表示是不分正反的接口,如果有一种不能识别,那么表示区分正反。(区分正反的接口类型为type-c,不区分正反的接口类型是type-c+sw)

d)对于一些wifi或者蓝牙的设备,属于长期处于插入状态的,把全部外部usb设备都取出,此时usb列表上还存在的就是机器内部长期处于链接插入状态的usb端口,记下这些端口号(这些端口类型需要设定为内建internal)

全部检测所有的插口后,将记录的端口号整理,对于一些没有任何提示或者反应的端口号则可以废弃。mac10.14之后的usb端口只支持15个,就是说超过15个的不允许,所以如果超过15个,则需要对部分usb端口进行舍弃(比如usb3.0的插口取消其对usb2.0的支持,可以删除掉这个2.0的端口)。在上面软件的页面,按b返回,在上一层目录选择k,生成驱动文件,这时候会进入usb端口列表,将上面所有记录的端口号输入,查看是否被选中。选中的时候该端口号前面有个#键,如果需要取消该端口号,再次输入该端口号就取消了,#就消失了。这个软件好像有个bug,就是比如你输入19的时候,9号也会连带选中。20的时候10也会被选中,不知道上次是我操作失误还是bug。这地方要注意。选择检查无误之后,按k生成定制文件,这时候退出文件,在该文件目录下面会生成一个utbmap.kext文件夹,将该文件夹和上面(一).4中的解压后里面的usbtool.kext文件夹,两个文件夹放到EFI/OC/Kexts,然后在配置文件中添加该两个kext驱动。

7、这时候用这个efi文件夹放到efi分区中(最好是单独efi分区,以免boot文件夹与windows的boot文件夹冲突),然后从该efi启动,就可以进入安装界面,而且usb设备都能正常运行(记得长城机器上在usb键盘鼠标无反应的情况下足足折腾了一个月都没搞定,当时是忽略了一个oc的kexts驱动需要手动添加,而不像clover那样的可以自动扫描加载的)

8、这时候如无意外,可以顺利进入到mac的桌面,这时候安装一个hackintool的应用(瑞士军刀图标),对usb接口进行二次定制,打开kackintool,转到ubs,点下面的扫把,点刷新后就出现了当前usb的列表,该列表的数量应该与你上面定制的数量是一致的。之所以需要二次定制,是因为上面windows定制的那一步并不能正确标志该usb接口的类型,可能存在错误或出入,这里主要是解决这个接口类型。根据前面记录的端口号对应的usb类型(比如port1对应usb2.0,端口4对应usb3.0,端口6对应内建网卡,端口8对应type-c正反插等等),根据端口号在hackintool的usb列表的端口号后面修改该usb的类型(注意点:hackintool中的端口号是16进制的,上面windows中记录的是10进制,需要转换为16进制对应,这点很重要,要不会修改错误,比如14对应的16进制是0x0E,而不是0x14)。全部修改确认无误后,在下方导入,这时候在桌面会生成一些文件,其中有一个usbport.kext文件。这个文件就是最终的usb端口定制文件。将该文件复制到efi分区中的oc\kexts下面,并且修改配置文件config.plist中的kernel,加载该文件,同时取消ubtmap.kext和usbtool.kext文件的enable属性,或者删除该条目可以。保存后重新启动mac系统,这时候usb定制就完成了。

9、下面的就是各种驱动的完美配置,这个工程量巨大,而且需要极富耐心的测试和不断的查阅资料,而且未必就能全部完美。看运气!

仅记录到此处,是因为目前所知心得基本就到这里结束了。关于驱动配置,且用且探索。。。

?

备注:

1:无线网卡能换免驱就换,bcm和intel的都是不错的选择,realtek的看运气,如果是usb无线网卡,有一个万能无线网卡驱动:

https://macoshome.com/hackintosh/hdrivers/10519.html#erphpdown 可以试试,可以驱动核心RTL8188eu,前提是需要关闭mac的SIP。但是这个是一个第三方的无线接入端,感觉有点怪怪的。

2:一体机的显示器亮度看运气,反正长城是低亮度,各种app上阵都无效。

3:ALCxx系列声卡,一般是通过启动带参数aclid=x实现(不需要在oc的dp中inject注入冒仿id),这个参数列表可以查看下面页面 https://github.com/acidanthera/AppleALC/wiki/Supported-codecs ,通过修改alcid=x的x值逐一尝试。

4:系统大版本号升级的时候,如果oc启动无法进入,反复重启,可以考虑resetnvram一次后,一般就可以进入了。