黑苹果系列之配置clover启动器(上)
qiyuwang 2024-10-11 18:21 8 浏览 0 评论
获取并设置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实验室
相关推荐
- # 安装打开 ubuntu-22.04.3-LTS 报错 解决方案
-
#安装打开ubuntu-22.04.3-LTS报错解决方案WslRegisterDistributionfailedwitherror:0x800701bcError:0x80070...
- 利用阿里云镜像在ubuntu上安装Docker
-
简介:...
- 如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本
-
UbuntuKylin系统使用一段时间后,有新的版本发布,如何将现有的UbuntuKylin系统升级到最新版本?可以通过下面的方法进行升级。1.先查看相关的UbuntuKylin系统版本情况。使...
- Ubuntu 16.10内部代号确认为Yakkety Yak
-
在正式宣布Ubuntu16.04LTS(XenialXerus)的当天,Canonical创始人MarkShuttleworth还非常开心的在个人微博上宣布Ubuntu下个版本16.10的内...
- 如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)
-
在Windows11的WSL(WindowsSubsystemforLinux)上安装Ubuntu非常简单。以下是详细的步骤:---...
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
-
IT之家2月18日消息,科技媒体pureinfotech昨日(2月17日)发布博文,介绍了3中简便的方法,让你轻松在Windows11系统中,使用WindowsSubs...
- 如何查看Linux的IP地址(如何查看Linux的ip地址)
-
本头条号每天坚持更新原创干货技术文章,欢迎关注本头条号"Linux学习教程",公众号名称“Linux入门学习教程"。...
- 怎么看电脑系统?(怎么看电脑系统配置)
-
要查看电脑的操作系统信息,可以按照以下步骤操作,根据不同的操作系统选择对应的方法:一、Windows系统通过系统属性查看右键点击桌面上的“此电脑”(或“我的电脑”)图标,选择“属性”。在打开的...
- 如何查询 Linux 内核版本?这些命令一定要会!
-
Linux内核是操作系统的核心,负责管理硬件资源、调度进程、处理系统调用等关键任务。不同的内核版本可能支持不同的硬件特性、提供新的功能,或者修复了已知的安全漏洞。以下是查询内核版本的几个常见场景:...
- 深度剖析:Linux下查看系统版本与CPU架构
-
在Linux系统管理、维护以及软件部署的过程中,精准掌握系统版本和CPU架构是极为关键的基础操作。这些信息不仅有助于我们深入了解系统特性、判断软件兼容性,还能为后续的软件安装、性能优化提供重要依据。接...
- 504 错误代码解析与应对策略(504错误咋解决)
-
在互联网的使用过程中,用户偶尔会遭遇各种错误提示,其中504错误代码是较为常见的一种。504错误并非意味着网站被屏蔽,它实际上是指服务器在规定时间内未能从上游服务器获取响应,专业术语称为“Ga...
- 猎聘APP和官网崩了?回应:正对部分职位整改,临时域名可登录
-
10月12日,有网友反映猎聘网无法打开,猎聘APP无法登录。截至10月14日,仍有网友不断向猎聘官方微博下反映该情况,而猎聘官方微博未发布相关情况说明,只是在微博内对反映该情况的用户进行回复,“抱歉,...
- 域名解析的原理是什么?域名解析的流程是怎样的?
-
域名解析是网站正常运行的关键因素,因此网站管理者了解域名解析的原理和流程对于做好域名管理、解决常见解析问题,保障网站的正常运转十分必要。那么域名解析的原理是什么?域名解析的流程是怎样的?接下来,中科三...
- Linux无法解析域名的解决办法(linux 不能解析域名)
-
如果由于误操作,删除了系统原有的dhcp相关设置就无法正常解析域名。 此时,需要手动修改配置文件: /etc/resolv.conf 将域名解析服务器手动添加到配置文件中 该文件是DNS域名解...
- 域名劫持是什么?(域名劫持是什么)
-
域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器(DNS),或伪造域名解析服务器(DNS)的方法,把目标网站域名解析到错误的地址从而实现用户无法访问目标网站的目的。说的直白些,域名劫持,就是把互...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- # 安装打开 ubuntu-22.04.3-LTS 报错 解决方案
- 利用阿里云镜像在ubuntu上安装Docker
- 如何将Ubuntu Kylin(优麒麟)19.10系统升级到20.04版本
- Ubuntu 16.10内部代号确认为Yakkety Yak
- 如何在win11的wsl上装ubuntu(怎么在windows上安装ubuntu)
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- 如何查看Linux的IP地址(如何查看Linux的ip地址)
- 怎么看电脑系统?(怎么看电脑系统配置)
- 如何查询 Linux 内核版本?这些命令一定要会!
- 深度剖析:Linux下查看系统版本与CPU架构
- 标签列表
-
- navicat无法连接mysql服务器 (65)
- 下横线怎么打 (71)
- flash插件怎么安装 (60)
- lol体验服怎么进 (66)
- ae插件怎么安装 (62)
- yum卸载 (75)
- .key文件 (63)
- cad一打开就致命错误是怎么回事 (61)
- rpm文件怎么安装 (66)
- linux取消挂载 (81)
- ie代理配置错误 (61)
- ajax error (67)
- centos7 重启网络 (67)
- centos6下载 (58)
- mysql 外网访问权限 (69)
- centos查看内核版本 (61)
- ps错误16 (66)
- nodejs读取json文件 (64)
- centos7 1810 (59)
- 加载com加载项时运行错误 (67)
- php打乱数组顺序 (68)
- cad安装失败怎么解决 (58)
- 因文件头错误而不能打开怎么解决 (68)
- js判断字符串为空 (62)
- centos查看端口 (64)