2. OC 文件结构

原始文件结构

OpenCore 引导的官方项目地址为:https://github.com/acidanthera/OpenCorePkg

查看最新版本的下载地址为:https://github.com/acidanthera/OpenCorePkg/releases

截止写文章的时间 2021 年 09 月 17 日,最新的 OC 引导为 0.7.3 的版本,所以我们下载 OpenCore-0.7.3-RELEASE.zip 并解压,这样就得到 OC 的最原始的文件了。

下面分别大概说明一下这些目录的作用:

  • Docs:存放 OC 最新的配置文档、版本更新变化、ACPI 示例文件以及 Sample.list 配置文件模板
  • IA32:里面放着 32 位老机器使用的 EFI 引导文件
  • Utilities:OC 官方集成的小工具都放在这里
  • X64: 里面放着 64 位目前主流机器使用的 EFI 引导文件

知道了大概的目录结果的话,下面来详细的介绍一下这些目录里面的文件详细情况。

Docs

~/Downloads/OpenCore-0.7.3-RELEASE/Docs
.
├── AcpiSamples          # ACPI 示例文件
│   ├── Binaries         # 编译好的 ACPI 文件
│   │   ├── SSDT-ALS0.aml
│   │   ├── SSDT-AWAC-DISABLE.aml
│   │   ...
│   └── Source           # ACPI 原始文件
│       ├── SSDT-ALS0.dsl
│       ├── SSDT-AWAC-DISABLE.dsl
│         ...
├── Changelog.md         # 版本更新日志
├── Configuration.pdf    # 当期版本的官方配置文档
├── Differences.pdf      # 和上一个版本的改变部分
├── Sample.plist         # 当期版本的配置文件模板
└── SampleCustom.plist   # 当期版本的配置文件模板

这里面文件都比较好理解,除了发现貌似 2 个配置文件模板,分别是 Sample.plist 和 SampleCustom.plist,但是国光我对比了一下,发现二者基本上没有差别,理论上都是可使用的,我们普遍使用 Sample.plist 这个配置文件比较多。

Utilities

这个目录下放着一些 OC 官方的小工具,下面来分别介绍一下这些小工具的作用

  • acdtinfo:检测当前机器的 kexts 安装情况
  • ACPIe:产生有用的 ACPI 查找跟踪排错使用
  • CreateVault:里面包含了 RSA 秘钥生成工具和用来创建 Valut 的脚本
  • disklabel:标签生成小工具,一般也用不到
  • icnspack:icns 合成制作小工具,想要自己自定义主题的时候可以用得上
  • kpdescribe:调式 Debug 排错使用,用于恢复堆栈跟踪
  • LegacyBoot:在旧电脑中模拟 UEFI 环境的工具和脚本
  • LogoutHook:用于模拟 NVRAM 保存的增强脚本
  • macrecovery:启动盘制作脚本
  • macserial:序列号生成工具
  • ocpasswordgen:OpenCore 密码数据生成工具
  • ocvalidate:检测 config.list 语法的正确与否

EFI

最后来到了我们的重头戏 EFI 部分,下面是 EFI 主要文件夹的作用讲解:

~/Downloads/OpenCore-0.7.3-RELEASE/X64/EFI
.
├── BOOT                          # 引导文件夹
│   └── BOOTx64.efi               # 引导文件
└── OC                            # OC 文件夹
    ├── ACPI                      # ACPI 存放的文件夹
    │   ├── SSDT-EC.aml
    │   ├── SSDT-PLUG.aml
    │   │── SSDT-PNLF.aml
    │       ...
    ├── Drivers                   # OC 驱动的文件夹
    │   ├── AudioDxe.efi
    │   ├── CrScreenshotDxe.efi
    │   ├── HiiDatabase.efi
    │       ...
    ├── Kexts                     # 存放内核拓展 kexts 的文件夹
    │   ├── AppleALC.kext
    │   ├── Lilu.kext
    │   ├── WhateverGreen.kext
    │       ...
    ├── OpenCore.efi              # OC 的核心文件
    ├── Resources                 # OC 的主题样式
    │   ├── Audio
    │   ├── Font
    │   ├── Image
    │   └── Label
    └── Tools                     # OC 小工具文件夹
        ├── BootKicker.efi
        ├── ChipTune.efi
        ├── CleanNvram.efi
            ...

BOOT

BOOT 引导文件夹,下面躺着 BOOTx64.ef 引导文件

OC/ACPI

下面存放这 SSDT 编译好的文件,格式均为 .aml 格式,关于 SSDT 详细的说明可以参考下面的章节

OC/Drivers

这里放着一些驱动文件,这些驱动均已 .efi 后缀结尾,OC 官方默认的驱动文件以及说明如下:

  • AudioDxe.efi:用与启动的时候播放 Duang 的声音,就像白苹果那样
  • CrScreenshotDxe.efi:OC 引导界面截图驱动,按 F10 会保存当前界面的截图到 EFI 分区的根目录下
  • HiiDatabase.efi:用于支持 UEFI 字体渲染,四代酷睿后一般不需要
  • NvmExpressDxe.efi:用于让老主板支持 NVME Express 设备,四代酷睿后一般不需要
  • OpenCanopy.efi:使用图形化 OC 主题必备驱动
  • OpenHfsPlus.efi:文件系统驱动,用于支持识别 HFS+ 的磁盘格式
  • OpenLinuxBoot.efi:OC 0.7.3 新增的驱动,用于引导 Linux 系统
  • OpenPartitionDxe.efi:分区管理驱动程序。用于加载旧版 macOS 的 DMG 映像
  • OpenRuntime.efi:OC 核心必备驱动,功能比较强大,大家记住这个是必备的驱动就行
  • OpenUsbKbDxe.efi:USB 键盘驱动,用于模拟苹果热键,是 KeySupport 的等效方案
  • Ps2KeyboardDxe.efi:PS/2 键盘驱动,这个 PS/2 键盘也太老了吧,我好多年没见过了
  • Ps2MouseDxe.efi:PS/2 鼠标驱动,同样也太老了,很多年没有见过了
  • UsbMouseDxe.efi:USB 鼠标驱动,有些虚拟机需要依赖改驱动才可以在引导界面使用鼠标
  • XhciDxe.efi:XHCI USB controller 驱动程序,基本上 2 代酷睿开始大多数固件都自带这个驱动程序了

OC/Kexts

这里放着一些 Kexts 内核扩展文件,格式均为 .kext 文件,关于 Kexts 详细的说明可以参考下面的章节

Resources

这里放着 OC 的第三方主题文件,实际上国光我一直用的官方主题,就挺简约的。

Tools

OC 小工具文件夹,像下面的 CleanNvram.efi 和 ResetSystem.efi 就是其中的一些小工具:

OC 官方自带的工具文件以及说明如下:

  • BootKicker.efi:调用苹果原生的引导切换 GUI, 给白苹果使用的,黑苹果不支持
  • ChipTune.efi:测试 BeepGen 协议并生成不同风格和长度的音频信号。
  • CleanNvram.efi:NVRAM 清理工具,实际上 OC 自带的 NVRAM 清理功能已经足够了
  • ControlMsrE2.efi:检查所有内核的CFG 锁定(MSR 0xE2写保护)一致性,并在更改此类隐藏选项
  • CsrUtil.efi:简单实现苹果csrutil的 SIP 相关功能
  • GopStop.efi:停止显卡 GOP,排错时使用用一个简单的场景测试 GraphicsOutput 协议
  • KeyTester.efi:在 SimpleText 模式下测试键盘输入。
  • MmapDump.efi:ProvideCustomSlide 选项的必要性
  • OpenControl.efi:为其他工具提供 NVRAM 保护,以便在从 OC 启动时能够获得完整的 NVRAM 访问权限。
  • OpenShell.efi:OpenCore 配置的 UEFI Shell
  • ResetSystem.efi:用于执行系统重置的实用程序
  • RtcRw.efi:用于读取和写入 RTC (CMOS) 存储器的实用程序。
  • TpmInfo.efi:检查平台上的英特尔 PTT(平台信任技术)功能,如果启用,则允许使用 fTPM 2.0

好了,至此 OpenCore 的文件结构就介绍的差不多了,下面开始学习下 ACPI 的相关知识。

打个广告

因为有时候工作繁忙,所以有时候会商品会下架,佛系接单,随缘接单。 因为有时候工作繁忙,所以有时候会商品会下架,佛系接单,随缘接单。 因为有时候工作繁忙,所以有时候会商品会下架,佛系接单,随缘接单。

OC 排错

没有人比我更懂黑苹果 OpenCore 报错。

苦苦折腾配置了几天的 EFI 结果卡 EB、卡Panic、卡代码?

铛铛铛,针对网友的这个痛点,国光我上线了这个 OC 拍错服务,价格不贵,你省了钱解决了问题, 我也没有手把手耗费时间做一些浪费时间的操作,双赢,岂不是美滋滋?

重要提示:适用于有黑苹果基础,自己懂点 EFI 配置的网友,一点基础都没有的话就不用付费下单咨询了,否则我的解释你也听不懂的。

咨询前请附上你的 -v 卡代码的截图,排清楚全一点,先付费后咨询,不接受白嫖,不成功申请退款即可。

【闲鱼】https://m.tb.cn/h.fsGhBN0?tk=9XqN2jte390「我在闲鱼发布了【没有人比我更懂黑苹果 OpenCore 报错。】」 点击链接直接打开

疑难杂症 && 安装优化

目前已经有的资料和教程足够动手能力强的网友自己去安装黑苹果了,但是也有一些网友没有时间学习完教程,或者设备比较复杂遇到的问题 都很奇葩难以靠已有的知识去解决,

所以铛铛铛,国光我就抓住了这个用户痛点,咸鱼上挂了这个宝贝,嘿嘿嘿(手动狗头)

我这个服务适合什么样的人群呢?

  1. 自己了解基本的黑苹果原理,最起码知道给你 EFI 自己如何替换安装
  2. 掌握基本的 Windows 安装技巧,这个应该都懂的吧,否则也不会想折腾黑苹果了
  3. 对黑苹果感兴趣,想体验黑苹果但是没有时间系统学习教程的
  4. 手上的设备太过小众冷门的,网上没有相关的资料可以解决
  5. 强迫症患者,对黑苹果完美度要求比较高,忍受不了各种小毛病 ....

感兴趣可以去咸鱼看看哦:

【闲鱼】https://m.tb.cn/h.frsFhza?tk=v2m62jHTknZ「我在闲鱼发布了【黑苹果安装服务 专注于解决疑难杂症】」 点击链接直接打开

期间遇到的典型疑难杂症国光我也会同步更新到这个教程里面去的,可以帮助更多的人少走弯路,何乐不为呢?

powered by Gitbook该文章最后修改时间: 2022-05-09 21:46:21

results matching ""

    No results matching ""