黑蘋果OpenCore引導(dǎo)總結(jié)

前言

眾多黑蘋果驅(qū)動(dòng)的作者已經(jīng)停止對(duì)Clover的兼容支持,改向Opencore的兼容版姑。所以也許在未來(lái)的某一天童叠,Clover就越來(lái)越難用了。提前了解了解OpenCore唇兑,還是很有必要的。但是OpenCore畢竟沒(méi)有Clover成熟桦锄,同樣也沒(méi)有很好用的可視化編輯器(OpenCore Configurator會(huì)導(dǎo)致config出錯(cuò)扎附,慎用),fix的選項(xiàng)也沒(méi)有察纯,對(duì)hotpatch的要求就高了帕棉。經(jīng)過(guò)一周的摸索,總結(jié)一些OC的坑饼记,幫助以后的朋友少走一些彎路香伴。

\color{red}{2020.2.11更新:}系統(tǒng)10.15.1→10.15.3自動(dòng)更新順利。之后升級(jí)OpenCore版本出現(xiàn)問(wèn)題具则,0.5.2→0.5.5即纲,卡驅(qū)動(dòng)。找到問(wèn)題后在文章中增加版本更新方法博肋,需要可以研究一下低斋。

我的配置

雷 神 G170P 筆 記 本蜂厅,藍(lán) 天(CLEVO)P170SMA模 具
CPU:Core i7-4710MQ 2.50GHz
主 板:CLEVO P17SM-A
硬 盤:威剛SSD 256GB
內(nèi) 存:16 GB ( 威 剛 DDR3L 1600MHz )
顯 卡:Nvidia GTX970M(DSDT屏蔽) Intel HD4600
有 線 網(wǎng) 卡:瑞 昱 RTL8168/8111/8112
無(wú) 線 網(wǎng) 卡:博通BCM94352HMB(原 裝intel網(wǎng) 卡,無(wú) 解)
聲 卡:Realtek ALC892

目錄

一.準(zhǔn)備工作
二.調(diào)試Config.plist
三.調(diào)試驅(qū)動(dòng)
四.OpenCore更新

一膊畴、準(zhǔn)備工作

準(zhǔn)備工作分為以下幾步:

①.在Clover引導(dǎo)下掘猿,正常運(yùn)行macOS系統(tǒng)
②.BIOS設(shè)置
③.下載最新的OpenCore
④.安裝Xcode或使用ProperTree
⑤.efi基礎(chǔ)驅(qū)動(dòng)
⑥.U盤或硬盤建立引導(dǎo)分區(qū)
⑦.確認(rèn)電腦是否支持原生NVRAM

①?至少要先用Clover安裝系統(tǒng),并能夠正常進(jìn)入macOS系統(tǒng)唇跨,這樣能測(cè)試OC能方便很多稠通。如果零基礎(chǔ)從OC直接安裝系統(tǒng),難度比較大买猖。對(duì)于已經(jīng)配置好Clover的改橘,則需要精簡(jiǎn)EFI,把不必要的驅(qū)動(dòng)玉控,dsdt和ssdt刪除飞主。防止OC使用過(guò)程中不兼容導(dǎo)致的問(wèn)題。

②?BIOS設(shè)置
禁用
| Fast Boot | ??????????? | 快速啟動(dòng) |
| CFG Lock |???????????? | CFG鎖 |
| VT-d |?????????????????????| Hyper Threading |
| CSM |?????????????????????| 兼容性支持模塊 |

啟用
| VT-x | ?????????????????????????????? | VT-x |
| Above 4G decoding |????? | 大于4G地址空間解碼 |
| Hyper Threading |???????????| 超線程|
| Execute Disable Bit |???????| 執(zhí)行禁止位 |
| EHCI/XHCI Hand-off |?????| 接手EHCI/XHCI控制 |
|OS type:Windows 8.1/10|?????|操作系統(tǒng)類型Windows8.1/10|

③?下載最新的OpenCore
OpenCore-Releases:https://github.com/williambj1/OpenCore-Factory/releases
官方發(fā)布頁(yè)下載的文件包里的Docs文件夾內(nèi)的samplefull.plist改名為config.plist作為基礎(chǔ)配置自己的OC高诺。

④?對(duì)于OC中Config.plist碌识,Xcode是最好的選擇。其次是ProperTree懒叛。
Plist Editor Pro會(huì)破壞結(jié)構(gòu)丸冕,不能轉(zhuǎn)換Base64.
OpenCore Configurator目前更新速度落后于OpenCore耽梅,因此會(huì)導(dǎo)致Config的損壞

⑤?efi基礎(chǔ)驅(qū)動(dòng)

  • ApfsDriverLoader.efiApfs.efi ???? 識(shí)別APFS分區(qū)
  • FwRuntimeServices.efi ????用來(lái)替換AptioMemoryFix.efi
  • UsbKbDxe.efi ????OC內(nèi)置驅(qū)動(dòng)不工作薛窥,可以提供Apple熱鍵和FileVault的支持⊙劢悖卡OC引導(dǎo)界面诅迷,可以刪除
  • VirtualSMC.efi ????配合VirtualSMC.kext使用,不能和FakeSMC.kext同時(shí)使用众旗。
  • VBoxHfs.efiHFSPlus.efi ????識(shí)別HFS分區(qū)罢杉,對(duì)于不能進(jìn)入Recovery,需要使用HFSPlus.efi
  • EmuVariableRuntimeDxe.efi ?? ?模擬NVRAM贡歧,對(duì)于沒(méi)有原生NVRAM滩租,需要此驅(qū)動(dòng)(該驅(qū)動(dòng)已和最新的FwRuntimeServices.efi合并,建議使用最新驅(qū)動(dòng))

將需要的驅(qū)動(dòng)利朵,放置在EFI——OC——Drivers中律想,同時(shí)在Config.plist——UEFI——Drivers添加efi驅(qū)動(dòng)名

⑥?使用硬盤工具新建一個(gè)esp(Fat16)新分區(qū),空間不低于200MB來(lái)存放绍弟。U盤或硬盤分區(qū)都可以技即。我是在Windows中使用DiskGenius分的區(qū)。

⑦確認(rèn)電腦是否支持原生NVRAM

打開終端輸入:sudo nvram TestVar=HelloWorld然后輸入密碼
重啟系統(tǒng)后輸入:sudo nvram -p | grep 'TestVar'
如果顯示:TestVar HelloWorld
說(shuō)明原生支持NVRAM

二樟遣、調(diào)試Config.plist

OC的Config.plist與Clover的Config.plist結(jié)構(gòu)有很大的不同而叼,因此不能通用身笤。整體結(jié)構(gòu)以及說(shuō)明參考黑果小兵:精解OpenCoreXJN`S BLOG:使用OpenCore引導(dǎo)黑蘋果,以下主要說(shuō)明容易出現(xiàn)的問(wèn)題葵陵。OC中的config.plist是由Docs文件夾內(nèi)的samplefull.plist改名而來(lái)液荸。

①M(fèi)isc—security—requiresignature—NO
防止出現(xiàn)報(bào)錯(cuò):OC:configuration signed vault but no public key provided

②misc—security—requirevault—NO
防止出現(xiàn)報(bào)錯(cuò):OC:configuration requires vault but no vault procided

③可以刪除 #WARNING - 1 和 #WARNING - 2等

④Booter—Quirks—DisableVariableWrite—NO
禁止NVRAM寫入,沒(méi)有原生macOS支持NVRAM需要開啟

⑤DeviceProperties—Add可以加入設(shè)備硬件地址以及補(bǔ)丁
可以使用Hackintool應(yīng)用補(bǔ)丁生成設(shè)備硬件代碼驅(qū)動(dòng)硬件
例如:核顯驅(qū)動(dòng)脱篙、核顯緩沖幀莹弊、EDID注入,聲卡LayoutID注入涡尘、讀卡器等等

注意:這里使用的代碼與Clover的Config.plist中的Devices—Properties的代碼通用

⑥OC上所有的kext忍弛、.efi驅(qū)動(dòng)、.aml補(bǔ)丁都需要填入config.plist考抄,并且都有加載順序细疚,有依賴的驅(qū)動(dòng)要放在所依賴的驅(qū)動(dòng)之后。

注意:Kernel—Add??按加載順序加入kext名稱
????????????ACPI—Add??按加載順序加入.aml名稱
????????????UEFI—Drivers??按加載順序加入.efi驅(qū)動(dòng)名稱

⑦Kernel—Quirks—XhciPortLimit: YES
USB的15個(gè)端口限制補(bǔ)丁川梅,建議定制USB后關(guān)閉該選項(xiàng)

⑧Misc—Boot—ShowPicker: YES
顯示OpenCore的UI疯兼,可選引導(dǎo)項(xiàng)。

⑨NVRAM—LegacyEnable: NO
允許將 NVRAM 存儲(chǔ)在 nvram.plist 中, 沒(méi)有原生 NVRAM 的設(shè)備必須開啟

⑩NVRAM—7C436110-AB2A-4BBB-A880-FE41995C9F82—csr-active-config: bytes = 0xe7030000 - SIP 完全關(guān)閉

?設(shè)置默認(rèn)語(yǔ)言為中文贫途,在NVRAM—7C436110-AB2A-4BBB-A880-FE41995C9F82—prev-lang:kbd中填入<7a682d48 616e733a 323532>(需要NVRAM支持吧彪,不支持原生NVRAM或者沒(méi)弄好模擬NVRAM不生效)

?Misc—Security—AllowNvramReset:YES
在OC引導(dǎo)界面顯示 Reset NVRAM選項(xiàng)

注意:如果用Clover啟動(dòng)過(guò)系統(tǒng)后,再用OpenCore啟動(dòng)系統(tǒng)丢早,需要執(zhí)行Reset NVRAM來(lái)清除NVRAM姨裸。清除NVRAM,會(huì)清除BIOS自定義引導(dǎo)項(xiàng)名稱怨酝。

?Misc—Security—ScanPolicy:0
在OC引導(dǎo)界面顯示所有可用硬盤

定義:
(01)0x00000001 — 限定為文件系統(tǒng)傀缩,由以下允許掃描文件系統(tǒng)子項(xiàng)開啟
(02)0x00000002 — 限定為設(shè)備類型,由以下允許掃描設(shè)備類型子項(xiàng)開啟
? 允許掃描文件系統(tǒng)子項(xiàng)
(03)0x00000100 — 允許掃描APFS文件系統(tǒng)
(04)0x00000200 — 允許掃描HFS文件系統(tǒng)
(05)0x00000400 — 允許掃描EFI系統(tǒng)分區(qū)文件系統(tǒng)
? 允許掃描設(shè)備類型子項(xiàng)
(06)0x00010000 — 允許掃描SATA設(shè)備
(07)0x00020000 — 允許掃描SAS和Mac NVMe設(shè)備
(08)0x00040000 — 允許掃描SCSI設(shè)備
(09)0x00080000 — 允許掃描NVMe設(shè)備
(10)0x00100000 — 允許掃描CD / DVD設(shè)備
(11)0x00200000 — 允許掃描USB設(shè)備
(12)0x00400000 — 允許掃描FireWire設(shè)備
(13)0x00800000 — 允許掃描讀卡器設(shè)備
掃描策略數(shù)值=(01)+(02)+1個(gè)或數(shù)個(gè)允許掃描文件系統(tǒng)子項(xiàng)+1個(gè)或數(shù)個(gè)允許掃描設(shè)備類型子項(xiàng)
例如:希望掃描對(duì)象是APFS文件系統(tǒng)的USB設(shè)備农猬,掃描策略數(shù)值=(01)+(02)+(03)+(11)赡艰,經(jīng)16進(jìn)制加法計(jì)算得出,掃描策略數(shù)值=0x200103斤葱。
注意慷垮,使用時(shí)需將16進(jìn)制轉(zhuǎn)換為10進(jìn)制。示例最終掃描策略數(shù)值=2097411

?ACPI—Patch放入dsdt揍堕、ssdt補(bǔ)丁
Kernel—Patch放入kext補(bǔ)丁

?PlatformInfo中直接刪除Datahub,PlatfromNVRAM,SMBIOS這三項(xiàng)料身,無(wú)需填寫。

?IgnoreInvalidFlexRatio: YES
(在 BIOS 中無(wú)法禁用 MSR_FLEX_RATIO(0x194) 鹤啡,或OpenCore卡引導(dǎo)項(xiàng)時(shí)開啟)

注意:部分OpenCore卡引導(dǎo)項(xiàng)惯驼,是由于UsbKbDxe.efi與鍵盤不兼容導(dǎo)致的,刪除UsbKbDxe.efi即可

三、調(diào)試驅(qū)動(dòng)

以我自身的驅(qū)動(dòng)來(lái)說(shuō)明


驅(qū)動(dòng)目錄

①建議使用VirtualSMC.kext祟牲,因?yàn)樾枰cDrivers中的VirtualSMC.efi配合
②建議定制USB驅(qū)動(dòng)隙畜,如自定義的USBInjectAll.kext、USBPorts.Kext说贝、或加載SSDT-UIAC
③建議定制聲卡驅(qū)動(dòng)议惰,雖然萬(wàn)能聲卡驅(qū)動(dòng)也支持OC
④VoodooPS2Controller.kext與ApplePS2SmartTouchPad.kext中存在插件kext,在Config.plist中Kernel—Add分別加入
⑤.kext中沒(méi)有驅(qū)動(dòng)乡恕,只有info.plist的言询,Kernel—Add加入info.plist的path,不必加入kext的path傲宜。
⑥建議核顯驅(qū)動(dòng)使用Hackintool應(yīng)用補(bǔ)丁生成核顯代碼运杭、相關(guān)補(bǔ)丁以及EDID的注入,防止添加過(guò)多kext影響兼容性函卒,同時(shí)定義CPU接口辆憔,方便加載HDMI視頻音頻


HD4600核顯

四、OpenCore版本更新

寫這篇文章時(shí)我的系統(tǒng)版本是10.15.1报嵌,OC是0.5.2虱咧。之后更新為10.15.3和0.5.5。
更新OpenCore版本需要注意以下四點(diǎn):
①做好原有EFI的備份锚国,config.plist—NVRAM—Add—7C4361......—boot-args中添加-v腕巡,更新時(shí)出錯(cuò),可以及時(shí)發(fā)現(xiàn)問(wèn)題

②下載最新OpenCore血筑,替換原有EFI中的Bootx64.efi和OpenCore.efi

③最新OpenCore—Drivers找到需要的驅(qū)動(dòng)绘沉,對(duì)原有EFI中的Drivers驅(qū)動(dòng)進(jìn)行替換
注:在0.5.5后Divers最新驅(qū)動(dòng)已經(jīng)合并到最新的OpenCore中

④查看最新OpenCore—Docs—SampleFull.plist中是否有更新,如有更新可以查看作者的說(shuō)明進(jìn)行修改云挟,沒(méi)有則直接使用之前的config.plist


為方便大家學(xué)習(xí)交流梆砸,附上我OpenCore的EFI
OCEFI:https://pan.baidu.com/s/1om3IBf0Bg2A1a8ogJnUpOQ?? 提取碼:k8gu

持續(xù)更新中

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末转质,一起剝皮案震驚了整個(gè)濱河市园欣,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌休蟹,老刑警劉巖沸枯,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異赂弓,居然都是意外死亡绑榴,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門盈魁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)翔怎,“玉大人,你說(shuō)我怎么就攤上這事〕嗵祝” “怎么了飘痛?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)容握。 經(jīng)常有香客問(wèn)我宣脉,道長(zhǎng),這世上最難降的妖魔是什么剔氏? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任塑猖,我火速辦了婚禮,結(jié)果婚禮上谈跛,老公的妹妹穿的比我還像新娘羊苟。我一直安慰自己,他們只是感情好感憾,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布践险。 她就那樣靜靜地躺著,像睡著了一般吹菱。 火紅的嫁衣襯著肌膚如雪巍虫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天鳍刷,我揣著相機(jī)與錄音占遥,去河邊找鬼。 笑死输瓜,一個(gè)胖子當(dāng)著我的面吹牛瓦胎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尤揣,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼搔啊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了北戏?” 一聲冷哼從身側(cè)響起负芋,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嗜愈,沒(méi)想到半個(gè)月后旧蛾,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蠕嫁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年锨天,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片剃毒。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡病袄,死狀恐怖搂赋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情益缠,我是刑警寧澤厂镇,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站左刽,受9級(jí)特大地震影響捺信,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜欠痴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一迄靠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喇辽,春花似錦掌挚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至抽米,卻和暖如春特占,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背云茸。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工是目, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人标捺。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓懊纳,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親亡容。 傳聞我的和親對(duì)象是個(gè)殘疾皇子嗤疯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容