
获取并设置text文件
最近忙于别的事儿,耽误了很久,今天开始填坑。
Clover的作用在“(三)制作系统安装盘”这篇文章中已经介绍过了,在此不再赘述,本篇重点介绍Clover的配置。
说是介绍配置,其实我能呈现给大家的的也只是一些思路类的东西,具体到某种机型的具体配置说实话因为太繁杂我也说不清楚。PC平台型号繁多,与,macOS软硬件结合的事儿有时候带点玄学的感觉。主流的配置在网络上大部分都能找到,稍微偏一点的配置就要靠不断地试错了。从我目前地了解看,黑苹果这块儿还没有形成系统地理论指导,我在此也只能提供给大家一个“解题思路”,至于具体到细节上的操作,还是一个字:试。
另外,以下文章中提及的配置Clover时用到的第三方文件在取舍上都是根据笔记本电脑进行的,台式机与此略有不同,文中提到时会有说明。
在上一篇文章“(三)制作系统安装盘”中我们得到了一个内部带有Clover分区的系统安装盘。在clover分区中有如下图中的这些文件:

确认你的安装盘内有这些文件,没有的话可能是操作过程有问题,再来一遍即可。其中usr文件夹在有些别的方法制作的启动盘中是没有的,经我测试在刚制作完成后删掉也可以。
Clover的配置大体分为以下三部分:
1. 获取并设置text文件,也就是macOS的驱动。
2. 配置启动参数文件config.plist。
3. 获取硬件平台原ACPI并根据需要进行修改。
下面分步骤讲解。
1. 寻找并设置text文件,也就是macOS的驱动
常用windows系统的小伙伴们都知道windows系统刚安装完成时是需要针对不同的硬件另外安装上专用的驱动的,没有那些驱动发挥不出来设备的全部性能,更有甚者有时直接就无法识别设备导致不能使用。最常见的就是以太网卡的驱动,经常装好系统识别不出来网卡无法联网,如果是这样推荐大家使用“驱动精灵万能网卡版”自动安装网卡驱动,不是广告哦,是确实好用。
MacOS在驱动这点上看起来和windows平台略有不同,苹果软硬件封闭,软件与硬件高度统一,苹果电脑硬件的驱动大都已经集成在了macOS中。不像windows系统拥有众多厂商各种型号的硬件平台,有些设备的驱动没有在系统中集成很正常。
因为macOS是设计运行在苹果的硬件平台上的所以当我们把它搬到非苹果的硬件平台上时就出现了水土不服的兼容性问题。按照windows系统的惯例,不兼容的驱动可以在系统安装好后另外再安装,可是往往黑苹果的兼容性问题偏偏就发生在那些影响正常进系统的设备上,比如显卡驱动,USB驱动,键鼠驱动,甚至主板芯片组及CPU驱动等,这些驱动不兼容,有时连系统都装不上。
针对以上情况,Clover的开发大神们想到了一个绝妙的主意,那就是绕过原生的驱动系统,通过Clover引导macOS加载第三方的兼容驱动。这样就能和原生驱动互相补充,原生兼容的话就用原生驱动,如果不兼容就加载第三方驱动。
还有比上面的问题更要命的事儿,那就是macOS系统启动时会检测硬件,非苹果硬件上压根就无法启动,所以这就引出了今天第一个最最关键也最不可或缺的驱动FakeSMC.kext(SMC控制热量和电源管理,电池充电,视频模式切换,睡眠和唤醒,休眠以及LED指示灯方面发挥着作用。它还支持强制执行Mac OS X 最终用户许可证,以便识别何时在非Apple硬件上运行)。
从FakeSMC.kext名字就能看出来,这哥们儿是个“伪装者”,它主要负责伪装SMC以欺骗macOS系统让其认为自己是在苹果硬件上“飞奔”,可怜macOS一秒钟,被骗了还得替人家干活儿。
有了FakeSMC.kext驱动后你的硬件平台至少能被macOS识别认同了,剩下的就是给它补足其它的驱动,具体需要再补充哪些驱动因硬件平台而异。一般还需要
Lilu.kext
一个开放源码的内核扩展,为macOS系统提供了一个任意的kext,library和程序修补的平台(google翻译的)),我理解的是属于第三方驱动的运行库类型。
USBInjectAll.kext
注入所有USB端口,因为每种硬件平台上能使用的USB端口在总线上的地址与苹果电脑上的地址有所不同,这个驱动用来加载所有集线器上的USB端口信息以让系统识别到那些在本机上可以使用的USB端口位置,以驱动USB口。
VoodooHDA.kext
通用声卡驱动,如果不使用它也可以正常*放播**声音的话就不需要使用了。
VoodooPS2Controller.kext
PS2接口控制器,用来驱动PS2接口的鼠标与键盘。这个驱动基本属于笔记本电脑专用的,台式机未测试过。
ACPIBatteryManager .kext
笔记本电脑电池驱动,用来显示电池及外接电源信息,台式机不需要。
以上是最基本的驱动,不同硬件平台需要根据情况再行取舍,以能安装并进入系统为基本要求,进入系统后就好说了,什么设备没有驱动在系统下很容易找出来。
如果进不去系统,在驱动层面上一般情况下可能还需要intel的显卡修复驱动,NVIDIA显卡修复驱动等,具体解决方案大家根据自己的电脑型号自行百度,也可以加我的微信公众号:itodo实验室 大家一起探讨。
这些驱动可以在下面这个网站上找到:https://bitbucket.org/RehabMan/,*载下**后的驱动放置在系统安装盘的Clover分区中的EFI\CLOVER\kexts\Other这个路径下,如下图:

以上是如何获得并取舍驱动,驱动*载下**下来后有些情况下需要更改一下驱动内的配置文件才能和硬件平台匹配,下面以网卡驱动作为例子来加以说明,大家操作时举一反三,灵活运用。
过程分两步
1. 通过AIDA64 Engineer 这个软件获取将要安装黑苹果的硬件平台(你的电脑)的系统报告,并在报告中查找到该驱动对应的硬件ID。
AIDA64 Engineer 这个软件是一款硬件信息检测工具软件,提供了非常全面的硬件信息检测与输出功能。我们使用这个软件获取自己电脑上的设备各自的硬件ID,然后根据这个ID修改驱动的配置文件。下面介绍这个软件的使用方法。
首先在AIDA64 Engineer 的官网https://www.aida64.com/downloads*载下**软件。注意*载下** Engineer 版,功能全面。*载下**界面如下图

exe格式为安装版。zip格式为便携版,解压即用,不用安装。大家根据需要自行选择。
AIDA64 Engineer 是收费软件,试用期内可以免费用,试用期过后大家可以购买或者是想办法激活,你懂的,哈哈。
打开软件后界面如下:

在界面上方工具栏,依次选择 报告-快速报告-HTML文件,开始生成报告文件,如下图:


生成报告文件完毕后直接点击界面左上角工具栏“保存为文件”将报告保存至本地,便于稍后查看,如下图

报告文件可以用网页浏览器直接打开查看。
以查看我自己的电脑的网卡的信息为例,打开报告文件后依次选择右上角的 导航-设备-PCI设备 之后内容会定位到PCI设备信息的起始位置,在其中找到网卡设备,如下图:

一般我们需要通过这个报告信息确认两点:设备的具体型号和设备ID。确认型号后可以据此查找兼容的驱动,确认设备ID后可以据此更改驱动的配置文件。设备的具体型号和设备ID在下图所示位置查找

2.更改设备驱动的配置文件
首先*载下**软件plist Editor Pro,Plistedit pro是一款专业的Plist 类文档的编辑利器,PlistEdit Pro 界面简洁,非常好用。
*载下**地址: https://en.freedownloadmanager.org/Windows-PC/plist-Editor-Pro.html
或http://www.softpedia.com/get/Programming/File-Editors/plist-Editor-for-Windows.shtml
两个都可以。
如果链接打不开的话国内常用的软件*载下**平台也有不少资源。
*载下**并安装后打开,界面如下:

都是英文,但是好在功能不复杂。
工具备齐,下面以我目前在用的BCM5722D.kext驱动为例说明更改方法。
首先在Windows系统下依次双击打开驱动文件至BCM5722D.kext\BCM5722D.kext\Contents目录下,找到Info.plist文件,如下图

双击Info.plist文件,默认应该就会用plist Editor Pro软件打开,将显示界面切换至List View,如下图:

然后依次打开IOKitPersonalities---BCM5722D---IONameMatch选项,里面string后的字符串就是这个驱动目前可以识别的设备ID,如下图:

检查确认AIDA64 Engineer 导出的报告中查到的设备 ID是否在上图红框内的这些地址中,如果没有的话则随便将上图红框内的一个地址更改为你自己的设备ID就可以了,如果已经包括在内则可以放心使用了。
因考虑到篇幅太长不利于观看,所以本篇文章暂时就到这里。下篇文章讲解如何配置启动参数文件config.plist。敬请期待!
如果你想和我多聊两句,欢迎关注我的微信公众号和大鱼号:itodo实验室