前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OpenCore引导黑苹果

OpenCore引导黑苹果

作者头像
用户6808043
发布2022-02-25 08:05:54
1.9K0
发布2022-02-25 08:05:54
举报
文章被收录于专栏:lostfawn

简介

OpenCore(OC)是一种新的引导方式,随着越来越多的kexts开始放弃Clover, 我相信提早使用OC会对你未来使用黑苹果会有很大的帮助。这是一个自然的现象,就像变色龙被Clover淘汰,而现在OC代替Clover也是大势所趋。你应该需要看一些相关的文章,来帮助你理解我的正文内容,同时也需要下载我推荐的软件:

  • Xcode (打包驱动)
  • ProperTree 最新推荐的config编辑器
  • OpenCore (下载最新的release版本)
  • Hackintool
  • MaciASL

BIOS设置

禁用如下:

英文

中文

fast boot

快速启动

CFG Lock (MSR 0xE2 write protection)

CFG 锁 (MSR 0xE2 写入保护)

VT-d

VT-d

CSM

兼容性支持模块

启用如下:

英文

中文

VT-x

VT-x

Above 4G decoding

大于 4G 地址空间解码

Hyper Threading

处理器超线程

Execute Disable Bit

执行禁止位

EHCI/XHCI Hand-off

接手 EHCI/XHCI 控制

OS type: other types

操作系统类型: 其他

整理OPENCORE目录

打开下载好的最新版OC(0.5.6),把Doc文件夹下面的SampleFull.plist改名为config.plist,并把此文件移动到EFI目录下面。

打开EFI—Kexts,我们把常用的一些kexts先放进去,一般情况下你需要放如下Kexts:

代码语言:javascript
复制
  Lilu.kext           ———- Acidanthera驱动全家桶的底层依赖

  Applealc.kext                     ———- 声卡驱动

  VirtualSMC.kext                 ——— 传感器驱动依赖 

  SMCProcessor.kext           ———- CPU核传感器/同上

  SMCSuperIO.kext             ———- IO传感器/同上             

  WhateverGreen.kext         ———- 核显&显卡驱动/下载地址

  IntelMausi.kext             ———- Intel类千兆网卡驱动

  Usbinjectall.kext        ———- USB驱动 (你也可以定制自己的USB补丁)

  NVMeFix.kext           ———- 为NVME硬盘增加ASPT属性来保证节电,虽然对台式机没啥用,但是官方推荐所有NVME用户都使用此补丁/下载地址
代码语言:javascript
复制
 - 打开EFI—Drivers,我们把常用的一些.efi文件放进去,一般情况下你需要放如下补丁:
    ApfsDriverLoader.efi                           ———- APFS格式支持

    MemoryAllocation.efi                          ———- 帮助主板空出第一个512MB内存,为后面的内存注入做铺垫,若要使用hibernation功能请不要使用它

    OpenRuntime.efi                                ———- 内存寻址补丁/ 在Opencore的程序包的drivers文件夹下。

    HFSPlus.efi                                   ———- HFS格式支持,在安装MAC或者更新时必须使用此补丁,并且此补丁的效率显然高于官方的vboxhfs.efi/下载地址

    OpenUsbKbDxe.efi                            ———- 键盘组合键的使用,在Opencore的程序包的drivers文件夹下。

    OpenCanopy.efi                                     ———— 如果你想使用第三方主题,请加载此项, 在Opencore的程序包的drivers文件夹下。

Config.plist 修改

Config—-ACPI—–Add

这部分主要填写我们使用的SSDT以及DSDT文件,如果没有请把0-8的ssdt全部删除。如果你有修改的SSDT或者DSDT文件,请先将文件放入EFI/OC/ACPI下。

Config—-ACPI—–Block

这个目录下是禁用一些SSDT/DSDT,没什么用,我把下面的item全都删了。

Config—-ACPI—–Patch

这里我们需要填写一下热补丁。如,ec补丁等

Config—-ACPI—–Quirks

此目录下有五项,选择与解释如下:

Quirks

Value

解释

FadtEnableReset

NO

一些旧的主板需要对FADT进行标记来激活电脑的开机和关机功能,这里我们不许要启动它(如果你遇到关机变重启,可以打开试试,我们之后也会在nvram中将这个问题修复)

NormalizeHeaders

YES

清理ACPI头,一些主板的ACPI表需要打开这个修复启动。但如果补丁点亮系统,请试试NO

RebaseRegions

NO

换硬件、升级BIOS等对硬件的操作会对ACPI表产生影响,一般不需要打开,若发现卡PCI Configuraion Begin,请尝试打开

ResetHwSig

NO

休眠相关项,台式机不需要

ResetLogoStatus

NO

顾名思义了,关了

Config—–Booter 内存相关选项设置。

Config—Boot—MmioWhitelist

默认的第一项是为Haswell芯片提供的内存寻址修复,如果此类芯片碰到内存相关问题,请开启它(enable选择yes)。

默认第二项是开机卡PCI Configuration这里。ACPI、PCI device同时释放到内存时发生0x1000内存地址被占用而卡在PCI Configration.如果碰到此类问题,请开启它。

Config—Boot—Quirks

此项与OpenRuntime.efi有关。在aptiomemoryfix停更后,此补丁已经更名为Openruntime, 并将一些功能与OC合并、模块化。对于无法原生nvram的主板来说,这里的选项需要格外注意。当然我也会把像300系列、x299、c422这样支持原生nvram的选择方法一并写进去。

AvoidRuntimeDefrag:大部分UEFI都会写入时间、电源管理等信息,这个所有黑苹果主板都应该选择YES。

DevirtualiseMmio:内存注入方式包括KASLR方式(分布式注射到各个内存地址中)以及连续性方式。在使用KASLR时,PCIE加载到内存,可能会占据所有avaliable值而导致OC的内核以及内核缓存无法注入,导致启动失败。此项目前建议选择YES,并且在下一项ProtectUefiServices中也选择yes。

Config—–DeviceProperties

此项是用来注入你的设备的,主要是显卡和声卡两部分。同样你也可以定制一些设备到你的关于本机–系统报告–PCI列表中,尽管没有多大的意义。

参考资料

https://blog.xjn819.com

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-4-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • BIOS设置
  • 整理OPENCORE目录
  • Config.plist 修改
    • Config—-ACPI—–Add
      • Config—-ACPI—–Block
        • Config—-ACPI—–Patch
          • Config—-ACPI—–Quirks
            • Config—–Booter 内存相关选项设置。
            • 参考资料
            相关产品与服务
            对象存储
            对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档