手把手教你安装黑苹果之openCore-0.6.3 EFI制作全过程,非常详细

手把手教你安装黑苹果之openCore-0.6.3 EFI制作全过程,非常详细文章目录前言一、EFI是什么?二、获取EFI1.Hackintosh黑苹果长期维护机型整理清单2.搜索efi二、自制EFI总结前言这篇文章主要是记录自己动手安装BigSur在过程,和心理。略显繁琐,请自行跳跃观看。macOSBigSur正式版于11月12日星期四(北京时间11月13日)发布,改动还是挺大的。基于M1苹果自研芯片的macbook也发布了,看了各种up主的评测,网上一堆好评。我馋了好久了,奈何囊中羞涩。等我有钱了,一定要买macbook。看了一眼跟了我6年之前的

大家好,又见面了,我是你们的朋友全栈君。


前言

这篇文章主要是记录自己动手安装Big Sur在过程,和心理。略显繁琐,请自行跳跃观看。

2020年12月08日更新: 有小伙伴反应,github上下载比较慢,我把用到的文件保存到网盘里供大家下载使用。 链接:
https://pan.baidu.com/s/1qnnBumyc3ZanuI04OACasg 提取码: b7ps

macOS Big Sur 正式版于 11 月 12 日星期四(北京时间 11 月 13 日)发布,改动还是挺大的。基于M1苹果自研芯片的macbook也发布了,看了各种up主的评测,网上一堆好评。我馋了好久了,奈何囊中羞涩。等我有钱了,一定要买macbook。

看了一眼跟了我6年之前的拯救者14(初代拯救者又叫Lenovo Gaming I7 4700hq),我想把跟我6年的老战友升级到最新的macOS系统。安装之前我电脑上已经安装了macOS Catalina,能安装这个是因为大概一年前在论坛上运气不错找到跟我同款机型的EFI分享。但是目前为止我这个机型在各种论坛,GitHub上找了一圈都没有Big Sur相关的EFI。想想原因很简单,6年前的电脑已经变的冷门了,很多玩这个电脑的大佬已经换新电脑了。而且Big Sur正式版本刚发布不足一个月,找不到也正常。

热门机型可以到网上找找EFI分享,但是冷门机型咋办?也许在等等时常关注着各种论坛,运气好哪天能碰到呢?想了想,这次我不要做伸手党,自己动手,丰衣足食。在等等我们就老了(我和我的电脑),在等等就尝不到鲜了,老是吃别人玩剩下的可不好!

我的型号:联想(Lenovo)拯救者 14.0英寸游戏本(i7-4720HQ 8G 128G SSD+1T GTX960M )
我的最终成品EFI:https://blog.csdn.net/lxyoucan/article/details/111876976


一、EFI是什么?

EFI是可扩展固件接口(Extensible Firmware Interface)的缩写,是英特尔公司推出的一种在未来的类PC的电脑系统中替代BIOS的升级方案。

安装macOS 最难的部分可能就是EFI这部分了吧!这部分是花时间最多的地方,因为每种型号的电脑使用EFI都不相同。

二、获取EFI

如果能找到大佬制作的跟你机型相同的EFI,拿来主义,岂不美哉!

1.Hackintosh黑苹果长期维护机型整理清单

地址:
https://blog.daliansky.net/Hackintosh-long-term-maintenance-model-checklist.html

这篇文章非常不错,收录了很多机型的EFI,大部分热门机型都有。我在帮小伙伴安装黑苹果的时候经常用到。就算找不到跟你的机型完全一样的,也可以找配置接近的型号试试,主要CPU型号,同一代的CPU都可以尝试,我通过这个方法也成功帮冷门机型的小伙伴成功吃上黑苹果。

2.搜索efi

建议大家使用搜索引擎、github先搜索下有没有自己的机型,型号一样,机型配置有差异可以忽略,使用你的机器型号+clover、型号+opencore、型号+EFI、型号+mac、型号+Hackintosh等进行搜索。

二、自制EFI

如果你像我一样,通过上面的方法也没有找到自己型号的EFI。那么就跟我一起制作吧。

跟据我的经验,使用open core自制EFI仅实现 安装 到最终进入桌面这步不难。因为open core和一些驱动包已经替我们做了很多事情了,我们只要做简单的配置就行了。

如果你追求完美,显卡 HDMI 网卡 蓝牙 电源 键鼠等都要求完美,那就请你做好折腾的心理准备,不同的机型可能会有差异。如果没有时间折腾,接受不了一点点不完美请你就此放弃吧!这些东西加起来,我在空闲时间折腾了一周。我会拿我的机型做演示,都是大同小异的。

1.OC Gen-X图形化一键自动生成EFI(推荐)

OC-Gen-X
在这里插入图片描述
如果你有macOS 的环境,强烈推荐!!!生成efi真是太简单了!甚至不用改什么配置就可用。如果你身边有人有macOS系统的人,就用这个生成吧,图形化的界面,选好你需要的就一键生成啦。网上教程很多,不做过多介绍。
坦白说我就是用这个生成的。
缺点: 目前只能在macOS下运行,问题来了,我就是来安装macOS的,你还需要我有macOS?

2.手动下载EFI所需要的文件

高能预警,这条路比较慢长,做好心理准备。有macOS环境的强烈推荐上面说的OC-Gen-X 自动生成EFI,确实能省不少时间。

安装黑苹果的小伙伴中,应该有不少人手头没有macOS的机器的。那么如何生成EFI呢?
详细教程请参照:https://dortania.github.io/OpenCore-Install-Guide/
这个帮助文章写的很详细,如果耐心看完,人人都能安装黑苹果。文档很详细,我看完后,发现直正对我最有用的文章,就一篇就够了。
https://dortania.github.io/OpenCore-Install-Guide/config-laptop.plist/haswell.html#starting-point
我的电脑平台是haswell笔记本平台的,所以是一面一篇文章。根据自己的平台自行选就行了。大同小异。
在这里插入图片描述

下载哪些文件

原文:
https://dortania.github.io/OpenCore-Install-Guide/ktext.html#firmware-drivers

下载open core

https://github.com/acidanthera/OpenCorePkg/releases
在这里插入图片描述

复制出EFI

解压以后X64\EFI是我们需要的文件。
获取EFI目录

删除冗余文件

下载来的文件相对比较全面,有不少文件大部分人用不到。各个文件的作用详解,请看原文:

https://dortania.github.io/OpenCore-Install-Guide/installer-guide/opencore-efi.html

  • 删除Tools目录下所有文件
  • 删除Drivers目录下只保留OpenRuntime.efi,删除其他所有文件。

在这里插入图片描述
Drivers中文件作用简介:

  • AudioDxe.efi
    与macOS中的音频支持无关
  • CrScreenshotDxe.efi
    用于在UEFI中拍摄屏幕截图,我们不需要
  • OpenUsbKbDxe.efi
    用于运行DuetPkg的旧系统上的OpenCore选择器,不推荐使用,在Ivy Bridge和更高版本上甚至有害
  • UsbMouseDxe.efi
    与OpenUsbKbDxe类似的想法,仅在使用DuetPkg的旧系统上才需要
  • NvmExpressDxe.efi
    当固件未内置NVMe驱动程序时,用于Haswell及更早版本
  • XhciDxe.efi
    当固件未内置XHCI驱动程序时,用于Sandy Bridge和更早的版本
    仅当您在较旧的计算机中使用USB 3.0扩展卡时才需要
  • HiiDatabase.efi
    用于修复GUI支持,如Sandy Bridge和更早版本上的OpenShell.efi
    不需要引导
  • OpenCanopy.efi
    这是OpenCore的可选GUI,我们将讨论如何在“安装后”中进行设置,因此请暂时将其删除
    Ps2KeyboardDxe.efi + Ps2MouseDxe.efi
    当您需要此功能时很明显,USB键盘和鼠标用户不需要它
    提醒:PS2≠USB

下载HfsPlus.efi

https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi
HfsPlus.efi复制到EFI/OC/Drivers/目录。
处理完目录如下:
在这里插入图片描述

下载必备Kexts

VirtualSMC

模拟在实际macs上找到的SMC芯片,如果没有此macOS,它将无法启动
替代方案是FakeSMC,它可以具有更好或更坏的支持,而这通常在旧版硬件上使用。
需要OS X 10.6或更高版本
https://github.com/acidanthera/VirtualSMC/releases

Lilu

一个修补程序,用于修补AppleALC,WhateverGreen,VirtualSMC和许多其他修补程序所需的许多进程。没有莉露,他们将无法工作。
请注意,Lilu和插件需要OS X 10.8或更高版本才能运行

https://github.com/acidanthera/Lilu/releases

WhateverGreen

用于图形补丁DRM,boardID,帧缓冲区修复等,所有GPU均可从此kext中受益。
请注意,仅笔记本电脑和AIO才需要附带的SSDT-PNLF.dsl文件,有关更多信息,请参见ACPI入门。
需要OS X 10.8或更高版本
https://github.com/acidanthera/WhateverGreen/releases


上面3个是必备的Kexts。

USBInjectAll

简单说,安装的时间发现usb外接键鼠无法使用时就要用到这个。
用于在ACPI中未定义USB端口的系统上注入Intel USB控制器
在台式机Skylake和更高版本上不需要
AsRock很笨,确实需要这个
建议使用Coffee Lake和较旧的笔记本电脑来使用此kext
在AMD的CPU不工作在所有
需要OS X 10.11或更高版本
https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/

目前这些kexts已经大多数情况下已经足够我们安装系统使用了。其他的声音,网络,蓝牙之类的Kexts 建议系统安装完成后在去慢慢加进来。越少的Kexts 越容易排查错误。

解压Kexts并放到Kexts目录之中

上面的压缩包中通常都有不少东西,我们只需要其中的*.kexts文件(windows,linux下显示的是目录)。
在这里插入图片描述
处理完成以后目录如下:
在这里插入图片描述

生成ACPI

我们使用预建的SSDT就够用了。
Pre-Built SSDTs
在这里插入图片描述
点了上面的链接后,会进行类似下面的界面,点击对应链接下载就行了,不同平台,下载的数量和名称略有不同。
在这里插入图片描述
如何知道自己的CPU是什么平台的?

  • 比如在Windows下用cpu-z查询,其他系统基本都有查询CPU信息的工具。
    在这里插入图片描述

  • 网上直接搜索自己的cpu型号查询
    下载好的内容放到EFI\OC\ACPI\ 目录
    完成后目录结构如下:
    在这里插入图片描述

ACPI很重要,也可以跟据自己的硬件自行创建。自己创建对于新手来说太难了。
有兴趣的可以去参考这篇文章。
ACPI入门

config.plist

复制之前下载的open core目录中的,OpenCore-0.6.3-RELEASE\Docs\Sample.plist 文件到 EFI\OC\ 目录下,并重命名为config.plist

在这里插入图片描述
至此所有文件已经齐了,写起来内容看似挺多的。其实不多。用OC Gen-X分分钟就生成了。

配置config.plist

配置教程原文:https://dortania.github.io/OpenCore-Install-Guide/config-laptop.plist/haswell.html#starting-point

不要使用配置程序,这些配置程序很少尊重OpenCore的配置,甚至像Mackie这样的配置程序也会添加Clover属性和损坏的plists!
在这里插入图片描述

下载安装ProperTree

这里推荐使用 ProperTree 来配置config.plist文件,建议不要使用第三方的配置工具。
ProperTree是基于python开发的跨平台的工具。使用前,如果没有安装过python3需要先安装python3。
python3下载

运行ProperTree

  • window下运行 ProperTree.bat (如果提示无权访问U盘的EFI,请用管理员权限打开它)
  • Mac 下运行 ProperTree.command(Linux下应该也是这个,没有实测)
打开配置文件config.plist

我的截图是Mac下的,Windows下基本一样的。不影响。
File => Open (Cmd +O)
在这里插入图片描述

  • 执行: File => OC Snapshot
    在这里插入图片描述
    弹出框中选中EFI/OC目录。
    在这里插入图片描述
    在这里插入图片描述
    如果有这样的弹出框则选择yes。
  • 执行: File => OC Clean Snapshot
  • 在这里插入图片描述
    操作跟上面一样。这两个有啥区别我搞不清楚。我之前看的教程上是这么操作的,反正两个功能都执行一下不会有错。

2020年12月7日 15:41:10补充,了解即可 需要注意的是放入新的kexts后,要用执行OC Clean Snapshot(Ctrl
Shift +R),然后选择OC目录。后才生效。通过我测试,放入新的kexts时,只需要执行一次 OC Clean Snapshot(Ctrl + Shift +R) 就行了,上面的 OC Snapshot不用执行。 原文如下,大概意思就是执行Cmd/Ctrl + Shift + R就够了:
After the config
is opened, press Cmd/Ctrl + Shift + R and point it at your EFI/OC
folder to perform a “Clean Snapshot”:

This will remove all the entries from the config.plist and then adds
all your SSDTs, Kexts and Firmware drivers to the config Cmd/Ctrl + R
is another option that will add all your files as well but will leave
entries disabled if they were set like that before, useful for when
you’re troubleshooting but for us not needed right now

这两边操作的作用是,把我们的ACPI、Kexts等信息自动配置,不需要我们手动配置了。
在这里插入图片描述
至此我们的初版本EFI已经制作完成了。现在用这个EFI去启动macOS多数是不行的。我们还需要根据不同的平台调整相应的参数。

调整config.plist参数

我的平台是:笔记本电脑Haswell平台,所以我参考的文档是:
https://dortania.github.io/OpenCore-Install-Guide/config-laptop.plist/haswell.html#starting-point
在这里插入图片描述
这篇文档写的很详细,如果你的EFI启动不了,各种卡代码建议把这篇文档详细看一下。
在这里插入图片描述

笔记本电脑Haswell平台confg.plist配置信息

我以haswell为例,其他平台大同小异。

  • 删除WARNING,选中后,右键 =》Remove 或者按 – 按键删除。
    在这里插入图片描述
    这些内容都是注释,删除了看着舒服点。

删除Root\DeviceProperties\Add 目录下所有的项目

在这里插入图片描述
这是个人经验,这个地方坑过我。因为配置错误,各种启动报错。后来我发现,这个地方为空,反而可以正常启动。这边主要是用于驱动显卡和声卡的。可能系统安装完成后在回过来完善它。

Root\Kernel\Quirks 下参数配置

AppleCpuPmCfgLock -> True
AppleXcpmCfgLock -> True
DisableIoMapper -> True
XhciPortLimit -> True
在这里插入图片描述

Misc 下面的修改如下图

在这里插入图片描述
AppleDebug -> True
ApplePanic -> True
DisableWatchDog -> True
DisplayLevel -> 2147483648 (这个干嘛用的我不清楚,OC Gen-X生成的配置是这么配的)
SecureBootModel -> Disabled
Vault -> Optional
ScanPolicy -》 0

NVRAM

boot-args设置成 -v keepsyms=1 debug=0x100 主要是方便调试,调试完了后可以把这些参数删除了。

在这里插入图片描述

PlatformInfo

PlatformInfo -》Generic-》 SystemProductName -》 MacBookPro11,4
在这里插入图片描述
模拟白苹果的机型,先设置个名称就行了,序列号等其他信息后面我们可以使用
OpenCore Configurator 自动生成。
具体模拟成什么型号,参考相应平台的说明,比如我的平台就参考这个:
https://dortania.github.io/OpenCore-Install-Guide/config-laptop.plist/haswell.html#platforminfo

  • UEFI
    • Quirks
      • IgnoreInvalidFlexRatio -》 True
      • ReleaseUsbOwnership -》 True
        在这里插入图片描述

终于配置完了,这时我才发现原来OC-Gen-X 帮我节省了如此多的时间啊!手动配置确实在麻烦不少啊!!!有条件的还是用OC-Gen-X吧。
完整配置如下:
config.plist
config.plist点击查看

BIOS设置

这部分我是直接从原文中拿过来的,仅供参考,我的电脑设置项很少。
Fast Boot
Secure Boot SATA Mode: AHCI
因为我设置的比较久远了,根据我的印象大概就设置了上面3项。

禁用下面这些

Fast Boot
Secure Boot
Serial/COM Port
Parallel Port
VT-d (can be enabled if you set DisableIoMapper to YES)
CSM
Thunderbolt(For initial install, as Thunderbolt can cause issues if not setup correctly)
Intel SGX
Intel Platform Trust
CFG Lock (MSR 0xE2 write protection)(This must be off, if you can’t find the option then enable AppleXcpmCfgLock under Kernel -> Quirks. Your hack will not boot with CFG-Lock enabled)
For 10.10 and older, you’ll need to enable AppleCpuPmCfgLock as well

启用下面这些

VT-x
Above 4G decoding
Hyper-Threading
Execute Disable Bit
EHCI/XHCI Hand-off
OS type: Windows 8.1/10 UEFI Mode
DVMT Pre-Allocated(iGPU Memory): 64MB
SATA Mode: AHCI

EFI写入到u盘安装macOS Big Sur

我用的黑果小兵的安装镜像,镜像的下载和使用请参考这篇文章。
https://blog.daliansky.net/macOS-BigSur-11.0.1-20B29-Release-version-with-Clover-5126-original-image-Double-EFI-Version-UEFI-and-MBR.html
黑果小兵的博客一直在更新,可以到他的博客下载最新的镜像。

使用etcher把镜像写入u盘后,把对应EFI分区的文件备份后,替换成我们刚才制作的EFI文件,试试是否可以正常进入安装界面,如果能进入安装界面,基本就成功80%了。

系统安装过程,常玩黑苹果的小伙伴应该不需要了。没安装过的,网上已经有不少不错的教程了。
比如:
天逸510s Mini兼macOS BigSur安装教程
安装步骤可以参考这个教程。

修改U盘的EFI分区文件

有很多小伙伴可能不知道如何修复U盘中的分区,因为默认情况 下电脑上是不显示这个分区的。

  • mac下可以使用分区挂载工具,我比较喜欢 OpenCore Configurator分区挂载功能,“工具”=》“挂载”图形化操作,选择自己U盘对应的EFI分区就行了。我个人在MAC操作较多一些。
  • windows下,使用DiskGenius 找到你的U盘的EFI分区,如下图:在这里插入图片描述
    鼠标右键=》指定新的驱动器号(盘符)
    在这里插入图片描述
    操作完成后,发现“我的电脑”里多出一个“O盘”(你指定的盘符的盘我这里是O),但是你打开会提示没有仅限。如下图:
    在这里插入图片描述
    可以下载 Explorer++之类的软件搞定,我喜欢windows自带的记事本就可以搞定了。
    windows 10为例。任务栏 点击 放大镜图标,搜索 notepad,并以管理员身份运行。如下图
    在这里插入图片描述
    在这里插入图片描述

EFI效果实测与下载

理论上讲我们上面生成的EFI支持所有的 笔记本电脑Haswell平台 macOS 系统的安装。
我把这一把制作完成的EFI分享给大家。
上面制作好的EFI点击下载

测试平台:联想(Lenovo)拯救者 14.0英寸游戏本(i7-4720HQ 8G 128G SSD+1T GTX960M )
系统版本:macOS-BigSur-11.0.1
OpenCore版本:0.6.3

测试结果

  • 正常进入Big Sur安装界面
  • 笔记本内置显示屏正常
  • 外接 键盘 鼠标 正常
  • 安装完成后正常进入系统桌面

满足以上条件已经够我们安装系统用了。其他设备的驱动就相对简单很多,找到对应的kexts 放到kexts目录中。需要注意的是放入新的kexts后,需要注意的是放入新的kexts后,要用执行OC Clean Snapshot(Ctrl + Shift +R),然后选择OC目录。后才生效。
在这里插入图片描述

驱动笔记本自带的键盘鼠标

之前EFI为了更好的兼容性只提供了最需要的kexts.
没有外接键盘鼠标的小伙伴,会发现电脑自带的键盘鼠标不工作了。
VoodooPS2Controller-2.1.8-RELEASE.zip
下载完成解压VoodooPS2Controller.kext,放到EFI\OC\Kexts目录,如下图
在这里插入图片描述
需要注意的是放入新的kexts后,要用执行OC Clean Snapshot(Ctrl + Shift +R),然后选择OC目录。后才生效。

重启macOS 发现,自带的键盘鼠标都能正常工作啦。

驱动有线网卡

RealtekRTL8111 V2.2.2
不同电脑的有线网卡型号不同,kext就不一样,具体自行百度。遇到问题可以文章下面评论。
网上有个说法,不知道可以把网上的那几种网卡kexts全放进去,也能正常使用。我没实测过。
我不喜欢有没用的,冗余在文件在我的EFI中。
安装方法同上。
RealtekRTL8111 v2.3.0在一些千兆网卡上可能无法工作,如果遇到这样问题可以换到2.2.2版本试试!

其他网卡下载与使用,参考:
https://dortania.github.io/OpenCore-Install-Guide/ktext.html#ethernet

驱动IGPU图形加速

如果没有这个问题,可能就不会有这篇文章诞生了。我写这篇文章的所有起因就是因为图形加速无法启用导致。听我慢慢道来。(这部分全是我啰嗦的部分,着急看可以直接跳到正片开始看。)

在我安装的时候到这一步之前我还在窃喜。安装黑苹果不过如此啊!太简单了吧!直到我发现,每当我最小化程序时,电脑就会卡一下。画面切换频繁的界面,明显卡顿。我就猜测难道是显卡没驱动起来?
经查询,显示如下:
Catalina测试的截图
会显示显存只有7MB,有时会完全不显示图形卡信息。

在这里插入图片描述
我第一次遇到这个问题是很懵的。因为我遇到这个问题的EFI是我从各种论坛找的,那时我比较偷懒总是想着如果能找到同款机型的EFI就好了。结果搜索了好久也没有找到我这款机型可用的并且支持Big Sur的EFI。找不到适合的EFI,我就找跟我机型接近的EFI,放进u盘里测试。大海捞针的形式。后来找一个 The Real Vanilla Hackintosh with macOS BigSur and Opencore / Full DSDT Patches / Notebook
EFI直接给我安装Big Sur的希望。因为这个EFI在我的电脑上直接可以完成安装,并且能进入桌面,安装完后有线网,鼠标键盘都是正常的。当时把我乐坏了,感觉自己运气太好了。

后来发现核显的图形加速问题就把我难到了。我用尽了我各种搜索手段想解决这个问题。因为我的机型实在太老了,6年前的机器了,搜索到的结果大多是3年前的文章了,而且多数是讲的clover下面的解决办法。关于OpenCore驱动hd4600 的文章我当时确实没有找到。如果搜索结果带有Big Sur更是渺茫了。

我尝试了2天也没有解决掉这个核显加速问题。期间各种爬贴,各种搜索。看完贴子在各种测试。不断的重启用电脑测试,看到开机运行的代码一报错就揪心啊。我都不记得重启了多少次了。熬了两天夜也没有解决。最终失败了,毫无头绪,不得不切回原来可以正常运行的Catalina 系统。本来就个事情应该暂时结束了,等自己有空了在研究的。后来发现Catalina ,竟然核显加速也没有了。当时我还专门发了个贴询问大佬的。(己解决)黑苹果驱动英特尔核显疑问记录
也没人回我,最终还是自己解决了,RestNVRAM就好了。突然刷新了我对NVRAM的认识。我以前一直都是理解错误的。

此时原本早已懒的折腾的我,有点不服了。想想10年前不折腾不舒服斯基就是我。

说干就干,上下班路上也不玩手机了,什么王者荣耀,抖音都卸载了。 天天手机上看OpenCore文章。大概完整的看了3遍。关于核显这部分看了10几20遍。一开始按照文档去配置,怎么也不行。只要加了配置就无法正常开机。不断的改配置不断的重启测试我都要吐了。

后来没办法在GitHub上搜索,hd4600 的配置,结果被我找到了一个efi 也是hd4600的。

在这里插入图片描述
就两条结果,有一条就是我需要的。GIGABYTE-B85M-D3H-HACKINTOSH-OPENCORE-iGPU-with-dGPU-HD4600-RX580
我在此感谢一下这个作者,对我有很大帮助。
我把他的跟igpu相关的配置,复制到我的efi中试试看。也就是试试看的心态,之前失败太多次了也没报什么希望。重启的时候,甚至低头在看手机里的opencore文档。结果让我大吃一惊,竟然就这么成功啦!!!

有一点,我至今都不理解,因为这个efi的核心配置跟open core文档中一样的。这个配置我都试过10几次了,当时都没成功。
我都在怀疑是不是我机器上的ID跟文档中的不同。百度上搜索到的一些教程真是坑了我,我试了好多种id的组合啊。这些文章我就不列了,也许只是环境不同,尽信书不如无书嘛!
在这里插入图片描述
就是上面的两个值。这两个值我都能背下来了。
为了测试,我又还原了我自己之前的配置,这次也正常启动了。这就太奇怪了。期间我多次试过Rest NVRAM也不行。
这个困惑我至今无法理解,不知道我找到的efi配置是不是触发了什么类似清缓存的动作。
我写这篇文章,也有一个目的就是希望有人能帮我解惑。

正片开始

感慨结束,正片开始。虽然上面啰嗦了一大堆,其实驱动核显实现图形加速很简单。就是2个值的设置的事情。照着OpenCore的文档配置就好了。
还是这个地址:
https://dortania.github.io/OpenCore-Install-Guide/config-laptop.plist/haswell.html#deviceproperties
在这里插入图片描述
细节如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
	<dict>
		<key>AAPL,ig-platform-id</key>
		<data>
		BgAmCg==
		</data>
		<key>device-id</key>
		<data>
		EgQAAA==
		</data>
	</dict>
</dict>
</plist>

很难想像我被这简单的两个值折磨了3 4天啊。还好我没放弃。至今不知道我当时错在哪了。
重启以后,就发现,界面流畅了太多了。程序最小化也不卡了。如下图所示。
在这里插入图片描述
就简单配置两个id就搞定啦。理论上做到这个,就可以正常用了。
使用一段时间发现,大部分程序都是正常使用,有小部分程序会出现局部花屏。这就有点难受了,特别是Chrome浏览器会花。

在这里插入图片描述
这些图标是花的。
还有一个问题就是此时HDMI无法正常使用,我的电脑此时插上hdmi线就会死机。

这个就需要用hackintool 来修复了。
hackintool
hdmi的修复可以参考我之前写过的文章:
OpenCore解决HD4600笔记本电脑hdmi输出
修复hdmi的原理,我当时参考黑果小兵大佬的文章,可以参考一下。
教程:利用Hackintool打开第8代核显HDMI/DVI输出的正确姿势

hackintool用起来不算难,如果我全部记录下来,会占不少篇幅。我偷下懒。主要是界面上的操作。我设置时参考的
OC引导全系核显集成显卡驱动Hackintool缓冲区补丁修复显存2048M,OpenCore引导黑苹果macOS系统安装电脑
讲的挺细的。大家如果在此处遇到问题可以跟我讨论交流一下。如果需要我写下完整修复过程,请留言。

驱动声卡

下列两个方法只能二选一,不要同时使用,因为他们冲突。

方法一:VoodooHDA-OC

显卡都驱动了,声卡如果没有,无声的世界还是难受的。在驱动个声卡,就有网有显卡有键鼠了,大部分人日常使用就够了,看个电影,码个代码没有问题了,驱动到这我就已经很满足了(第一次自己制作efi我感觉没有必要追求太完美)。

驱动声卡我比较偷懒,直接使用的万能声卡。就是一个安装程序,一路下一步安装好重启电脑就驱动好了。感觉像window安装驱动一样简单。我的电脑用万能声卡驱动我觉得音质还不错,有立体声。

VoodooHDA-OC
下载安装就好了。
双击打开,会提示无法验证开发者,点击【取消】
在这里插入图片描述
在系统偏好设置=》安全性与隐私=》最下面选仍要打开
在这里插入图片描述
还会提示一次,直接点击打开就行了。
在这里插入图片描述
都是图形界面操作了,跟据提示安装就行了,主要是会在EFI\OC\kexts\目录下自动生成相应的kexts就好了。

方法二:AppleALC

这种方法我个人觉得比方法一麻烦不少。要不是写了这篇文章我是不会用的。但是有一说一,网上都说AppleALC这种方式可能更好一些,可能是这种方式跟白苹果更接近吧。

这种方式,我在实践时遇到不少坑的。研究了两天参考了好多文章和EFI分享我才在我的电脑上搞定。总结一下原因应该是我的硬件太老导致。新的硬件驱动应该不能。
大部分硬件的实现方法,参考这个up主的视频就行了。
新手零基础OC引导声卡驱动完整教程 OpenCore引导使用AppleALC仿冒声卡修复音频声卡驱动

opencore文档写的也挺好,见(这篇文档在我文章里出现多次了,真的非常全面你想知道的都在这里):
https://dortania.github.io/OpenCore-Install-Guide/config-laptop.plist/haswell.html#deviceproperties
这篇文章关于声卡的篇幅很少,如下:
在这里插入图片描述

  1. 查询自己声卡的型号
    都到这一步了,你的macOS肯定能跑起来了吧,建议使用MacOS下的DPCIManager 查询声卡型号。
    在这里插入图片描述

  2. 查询声卡的可能用到的layout-id
    https://github.com/acidanthera/AppleALC/wiki/Supported-codecs
    在这里插入图片描述
    这就是声卡可能的id,我的天啊,要一个一个试直到声卡正常。看到这我就感觉麻烦所以,我还是喜欢
    VoodooHDA-OC。

我在想大部分人,看到这应该能解决声音了。
记录下我踩的坑
如果你像我一样,参考上面的文档或者视频教程都无法驱动AppleALC,那就可以看看这篇故障排查的文档。

https://dortania.github.io/OpenCore-Post-Install/universal/audio.html
反正我使用教程里这些方法没有实现,只要我在boot参数中加 alcid=xxxx 我的系统就无法启动了!!!一度以为我哪个地方写错了,把上面的9个layout-id试了多次啊,重启-配置-重启-配置。。。。太难受了,没人指导走的弯路太多,仔细对照了多次都没用。后来我就不在boot参数中调试了。

后来参考这个声音故障排除文章才知道,如果存在多个声卡,也会出问题。需要禁用一个声卡。
在这里插入图片描述
才发现上面的声卡是hdmi声卡。复制最后一列的设备地址,这里我的是 PciRoot(0x0)/Pci(0x3,0x0),上面提到的视频中有介绍这个复制地址操作。
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PciRoot(0x0)/Pci(0x3,0x0)</key>
	<dict>
		<key>external-audio</key>
		<data>
		AQ==
		</data>
	</dict>
</dict>
</plist>

还真有用,这次我能开机了。然后我的声卡的配置如下:
在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PciRoot(0x0)/Pci(0x1B,0x0)</key>
	<dict>
		<key>AAPL,slot-name</key>
		<string>Internal@0,27,0</string>
		<key>device_type</key>
		<string>Audio device</string>
		<key>hda-gfx</key>
		<string>onboard-1</string>
		<key>layout-id</key>
		<integer>14</integer>
		<key>model</key>
		<string>8 Series/C220 Series Chipset High Definition Audio Controller</string>
	</dict>
</dict>
</plist>

你以为这就结束了?不不不,还没。我的声卡还没有正常工作,此时我万分想念万能声卡。在坚持,坚持吧。后来在各种研究。原来我这声卡太老了需要一些ACPI才能解决。这太难为我了,一脸懵!
看了黑果小兵大佬的。
OC-little
里面的pdf文件里有一段这样的描述,目前我还不太明白原理。
OpenCore部件库.pdf
在这里插入图片描述
在这里插入图片描述
这应该就是我声卡驱动之路困难的原因吧。论坛里找到了如下:
SSDT-HPET_RTC_TIMR-fix.aml
两个文件放到了ACPI目录,要用执行OC Clean Snapshot(Ctrl + Shift +R),然后选择OC目录。后才生效。
重启后声音终于出来了,我现在正在用这个声音边听歌听写文章。

现在时间 2020年12月9日 凌晨
1:47分,有点困了,今天到此吧。这篇教程我想写的基本快写完了。还剩蓝牙,电池,休眠之类的,其实这些在我看来没那么重要。追求完美吧!有空在折腾更新文章吧。
其实我想说如果想追求完美不差钱直接上白苹果吧。

驱动蓝牙功能

蓝牙这个功能我几乎是用不到,我也有蓝牙耳机用了一段时间就不用啦。天天充电挺麻烦,关键是感觉音质比有线耳机差远了。

现在的蓝牙外设还是比较多的,既然电脑有蓝牙功能就驱动起来吧,没准以后买个蓝牙键盘鼠标之类的呢!

我的电脑上驱动这个很简单,只需要BrcmBluetoothInjector.kext 放到Kexts里+OC Clean Snap short(Cmd + Shift +R)重启蓝牙就正常工作了。

BrcmBluetoothInjector.kext 文件下载,这个文件是我以前用的clover里拿来的,从哪下载我也不清楚,很神奇。我拿来直接就可用了,已经上传我的网盘。

https://pan.baidu.com/s/1qnnBumyc3ZanuI04OACasg
提取码: b7ps

如果你遇到蓝牙驱动成功了,但是搜索不到蓝牙设备看这里。
《OpenCore黑苹果蓝牙能识别但是搜索不到设备》
https://blog.csdn.net/lxyoucan/article/details/111939986

无线网卡驱动

上面只是把有线网驱动了,如果是笔记本电脑的话,有线用起来不太方便。虽然我用电脑的地方基本都有有线,必境无线网更多一些,无线还是刚需。

方式一:更换网卡模块

优点:体验接近白苹果,隐藏在电脑里看着简洁
缺点:需要一定的动手能力,价格相对较贵。
我的本子里自带的无线网卡模块,各论坛里的大佬说目前是无解的。解决办法就是更换无线网卡模块,比如直接网上购买免驱的无线网上模块(比如:一些白苹果拆下来的),或者一些可以驱动的无线网卡。这些网卡有的都自带蓝牙模块。需要用苹果的隔空投送之类的这个方式。
我淘宝上搜索了一下这个东西的价格就直接劝退了。200+ 300+这样子的。我这电脑已经使用多年了,我觉得不划算就没有换。具体驱动方法我也没研究,应该不会太难,可能去论坛爬贴学习一下。我就不多介绍了。

方式二:usb无线网卡+万能usb无线网卡

优点:价格便宜,最便宜的10几块就买到了。安装简单,即插即用。
缺点:占用个usb接口,隔空投送可能无法使用(我基本用不到,未测试)。

我是采用usb网卡的,第一个usb网卡是我在台式机上用的,吃灰多年,拿过来安装过万能无线网卡驱动直接就能用了。因为我这个无线网卡像普通u盘一样长。在一次装电脑时忘记从电脑上拔掉,就这样折坏了。所以购买usb无线网卡我的建议如下:

  • min体型的更适合笔记本。
    笔记本电脑上安装的话越小越好,过长的比较碍事。不用担心迷你的无线网卡信号不好。在网络信号不是特别差的情况下,完全可以正常使用。
  • 支持5G的wifi,这个时间点还是支持5g的好一些,价格也高不了多少,5G 比 2.4G提升很多。电视上无线投屏功能差距尤为明显。没5g就别想着无线投屏了好吧。
    我使用的型号是(非广告哈,这里就不留链接了):COMFAST CF-811AC 650M USB无线网卡
    价格在30元左右,活动的时间甚至不足30元。
    650M我完全够用了,也有千兆的型号不过体积就大了不少。看各位的喜好了。

USB万能无线网卡下载:
Wireless-USB-OC-Big-Sur-Adapter

追求完美

显示 声音 网络 键盘 鼠标,都正常用啦!达到上面的程度,已经完全够我用了。

这里我想吐槽一下。

然后我就把EFI分享到某论坛了,把已经解决的,没完美的地方也说明的清楚了。

刚发贴不久,就有人多条评论了。结果竟然是引来大佬喷我啊。大概的意思是你这个不完美的EFI怎么好意思分享出来的啊,怎么有脸放到csdn分享的啊(最初是放在csdn资源下载里的)。当时上传到csdn资源里可能默认设置需要5分下载,我没太在意,分不分的对我来说不重要。大家可以看看我分享的很多资源都不要分的。之前csdn老是自动涨分,我还专门找过客服。退一万步说,就算我有意设置需要5分下载,哪怕是50分下载,我花了大量时间研究和整理,那也是靠我双手劳动换来的,哪点过分!何错之有

难道分享也有错吗?非要所有特性都完美了才能分享吗?在黑苹果这块我承认我是新手,很多地方做的并没有老手的efi那么完美。

不完美的地方我已经说明了,也没逼着谁去用吧!全程自己制作的efi,也没去剽窃什么吧。
在这里插入图片描述
我不是玻璃心,但是看到这样的评论真心不舒服。

这段小插曲也挺好的,本来暂时不想在继续完美EFI了,完美的事情等我有时间在说。加油吧,我尽力靠自己完善。有时间就在接着更新吧。

电池!电池!

本来我是不在意电池是否能正常显示的,为了追求完美,又花了时间去研究了一下。花了大概2天时间吧。各种研究,爬贴,靠运气解决了。解决方法只针对我的机型。其他机型可以参考一下解决过程吧。
在这里插入图片描述
本文章篇幅已经太长了。不得不新开一篇。解决过程点击下面链接。
拯救者14(i7-4720HQ)电池驱动过程记录顺带解决了触控板设置项无法打开的问题

触控板

我之前驱动了笔记本的键盘鼠标后,触控板可以正常使用,但是触控板的设置项无法正常打开。虽然提示找不到触控板,但是触控板的功能都正常可以使用。
在这里插入图片描述
详情见:
拯救者14(i7-4720HQ)电池驱动过程记录顺带解决了触控板设置项无法打开的问题

快捷键调节亮度

2020年12月22日更新 我的机型EFI制作完成后,快捷键调节声音大小默认就是好的。调节亮度这块是不行的。

为了追求完美就搞一下吧。效果如下:
以上执行结束后,重启电脑。Fn + ↑就会有下面这样的效果了。
在这里插入图片描述
为了减少篇幅,具体实现过程见:
《联想拯救者14实现快捷键调屏幕亮度》
https://blog.csdn.net/lxyoucan/article/details/111560041

睡眠

2020年12月28日更新 详细过程见: 《笔记本电脑Haswell黑苹果opencore睡眠实战》

https://blog.csdn.net/lxyoucan/article/details/111869890

开启HDMI音频

一般外接显示器多数都没有扬声器的,所以一般情况下是没有用的。但是如果外接电脑机的话,有HDMI音频还是挺舒服的。
在这里插入图片描述

《OpenCore黑苹果之拯救者14(HD4600)开启HDMI音频》
https://blog.csdn.net/lxyoucan/article/details/111877620

机型设置

机型设置我使用 OpenCore Configurator图形化设置了。很简单,截图说明。
使用OpenCore Configurator 要注意一点,由于OpenCore更新比较快,使用的版本要与 OpenCore 版本最好是一致的。不然可能出现未知问题。
如何查询OpenCore版本? 见:查询 opencore版本信息
设置操作如下:
在这里插入图片描述
机型设置应该是有讲究的,我个人认为设置成跟自己的电脑的配置比较接近的就行了。多试几个也没关系的。这里有一点,如果设置的机型比较老的话,可能是不支持Big sur的。我选择下面的这个,主要原因是cpu跟我的代数比较接近的前提下,选择最新款。
在这里插入图片描述

按键优化

这个有点超出efi的范围了,但是我安装完成基本必做的事情,也分享一下吧。
刚安装完黑苹果的小伙伴,可能会遇到类似这样的问题。我怎么复制粘贴没有用啊?大家用惯了Windows 的快捷键了,Ctrl + C ,Ctrl+ V之类的。到mac 下有点区别,基本上是Command + C ,Command + V这样子的。
黑苹果使用小技巧之按键设置

文件下载

为了方便大家,文章中提到的文件下载,已经上传网盘。如有遗漏评论提醒我吧。
下载日期:2020年12月8日

链接:

https://pan.baidu.com/s/1qnnBumyc3ZanuI04OACasg 提取码: b7ps

文件说明:
Opencore0.6.3笔记本Haswell平台通用EFI20201207.zip教程中制作出来的EFI,仅用于系统安装的,不包含更多的网卡,笔记本键鼠等kexts

文件名:OC.Gen-X.app.zip 下载地址:https://github.com/Pavo-IM/OC-Gen-X

下载地址:https://github.com/acidanthera/OpenCorePkg/releases
文件名:OpenCore-0.6.3-RELEASE.zip

下载地址:https://github.com/acidanthera/OcBinaryData/blob/master/Drivers/HfsPlus.efi
文件名:HfsPlus.efi

下载地址:https://github.com/acidanthera/VirtualSMC/releases
文件名:VirtualSMC-1.1.9-RELEASE.zip

下载地址:https://github.com/acidanthera/Lilu/releases
文件名:Lilu-1.5.0-RELEASE.zip

下载地址:https://github.com/acidanthera/WhateverGreen/releases
文件名:WhateverGreen-1.4.5-RELEASE.zip

下载地址:https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads/
文件名:RehabMan-USBInjectAll-2018-1108.zip

Laptop Haswell and Broadwell平台预建SSDT
下载地址:https://dortania.github.io/Getting-Started-With-ACPI/ssdt-methods/ssdt-prebuilt.html#laptop-haswell-and-broadwell
文件名:ACPI.zip

下载地址:https://github.com/corpnewt/ProperTree 文件名:ProperTree-master.zip

下载地址:https://github.com/acidanthera/VoodooPS2/releases
文件名:VoodooPS2Controller-2.1.9-RELEASE.zip

下载地址:https://github.com/Mieze/RTL8111_driver_for_OS_X/releases
文件名:RealtekRTL8111-V2.2.2.zip

下载地址:https://github.com/chris1111/VoodooHDA-OC
文件名:VoodooHDA.OC.dmg.zip
下载地址:https://github.com/chris1111/Wireless-USB-OC-Big-Sur-Adapter
文件名:Wireless.USB.OC.Big.Sur.Adapter-V6.zip

下载地址:https://github.com/MuntashirAkon/DPCIManager/releases/tag/2.0
文件名:DPCIManager.app.zip

目录说明:预建之外的ACPI 保存的是opencore 下载的预建以外的ACPI

美化启动项选择界面

习惯clover的同学,可能发现我们默认的启动项选择界面,比较土了吧。默认的界面使用的类型于命令行样式的。那么如何美化这个界面呢?
我本想写在这个文章里面的,现在这篇文章实在太长了。而且这个配置是可有可无的,所以我单独开了一篇。

OpenCore 启动菜单界面美化增加gui界面
效果 如下:
在这里插入图片描述

隐藏开机日志

如果你已经对你的EFI满意了,就没有必要每天开机显示日志信息啦。就把日志去掉吧。很简单就是去掉boot参数中的-v参数就好了。

在这里插入图片描述
-v去掉后开机就不跑码啦。

这里的参数,调整相关的都可以去掉了。我选择全部清空。

OpenCore版本升级实例-0.6.3升级至0.6.4

在我写这篇文章的过程中OpenCore升级到0.6.4了,此次升级对教程几乎没什么影响,操作完全一样的。升级方法:
OpenCore版本升级实例-0.6.3升级至0.6.4

github下载慢怎么办

下面的这些方法也许就能帮到你。

方法一:

如然访问github比较慢有些内容下载慢,不妨从别人的EFI中拿来。
有一定经验的人,可以去下载别人的EFI,在此基础上精简一下就行啦。就比如用黑果小兵提供的安装镜像中的EFI,删除用不到的东西就行啦。这里只提供一个思路,不详细介绍。

方法二:

GitHub加速网上也有教程,这里就不多做介绍了。
国内加速访问Github的办法,超级简单
我试过这个方法确实有用,不过时好时坏,可以一试。

方法三:

如果你有线网访问github慢,你可以试试用手机开热点 访问。我这边用联通的热点就比较快,下载速度能达到 几M每秒

方法四:

尝试一些vpn,代理之类的吧。


总结

未完待续。。。 业余时间写文章,持续更新中。 这是我纯手写,写的最久的一篇文章了,如果对您有用不防评论,留言,点赞支持一波吧,你的支持是我前进的动力,谢了。

如果大家觉得文章太啰嗦,希望出个简洁的版本的,或者完整的视频教程请评论留言!!!
自己动手,丰衣足食。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149451.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)
blank

相关推荐

  • 在最完整的搜索提示降史上的用户交互的研究——阅读《An Eye-tracking Study of User Interactions with Query Auto Completion》

    在最完整的搜索提示降史上的用户交互的研究——阅读《An Eye-tracking Study of User Interactions with Query Auto Completion》

  • 可用的NTP服务器地址「建议收藏」

    可用的NTP服务器地址「建议收藏」国内可用的Internet时间同步服务器地址(NTP时间服务器)好在阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com以下红色部分是我能ping通的地址,不能平通的也…

  • Kali Linux 系统安装详细教程(VMware14)「建议收藏」

    Kali Linux 系统安装详细教程(VMware14)「建议收藏」文章出自个人博客https://knightyun.github.io/2018/04/15/kali-linux-install,转载目录一、KaliLinux介绍 1、Linux2、Kali二、虚拟机安装与配置 1、下载2、安装配置三、Kali系统安装与配置一、KaliLinux介绍1、Linux引用一下百度百科: Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于PO…

  • linux ldd命令源代码,Linux中ldd命令的用法详解[通俗易懂]

    linux ldd命令源代码,Linux中ldd命令的用法详解[通俗易懂]Linux中ldd命令主要用于查看程式运行所需的共享库,那么ldd命令具体要如何使用呢?下面小编就给大家介绍下Linux下ldd命令的使用方法,感兴趣的朋友一起来学习下吧。ldd命令用于判断某个可执行的binary档案含有什么动态函式库LinuxLdd参数说明:–version  打印ldd的版本号-v–verbose  打印所有信息,例如包括符号的版本信息-d–data-relo…

  • Matlab绘图-详细全面(图)

    Matlab绘图-详细全面(图)全面Matlab基础绘图知识。强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数

  • ajax跨域问题以及解决方案_js跨域请求的三种方法

    ajax跨域问题以及解决方案_js跨域请求的三种方法出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。所谓同源(即指在同一个域)就是两个页面具有相同的协议(protocol),主机(host)和端口号(port)AJAX跨域请求下面简单模拟一个场景—–>>前端有.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号