久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

黑蘋果如何升級 OpenCore/Clover 引導(dǎo)工具,?

 看見就非常 2022-01-18

概述

本文最后更新:2021/6/13

隨著 OpenCore 逐漸進(jìn)入穩(wěn)定更新周期(大約每月一個(gè)新版本),很多從各處拿到 EFI 文件并成功安裝了黑蘋果的精神小伙們開始發(fā)愁一個(gè)問題,,就是怎么樣升級引導(dǎo)工具。

升級這個(gè)操作其實(shí)挺簡單,,但難倒了一片小白同學(xué),。全部操作就是替換新版文件和修改 config。替換新版文件比較簡單,,麻煩的是修改 config 文件,。其實(shí)無論是 OpenCore 或 Clover,其核心設(shè)置都是儲存在 config.plist 這個(gè)文件中的,。筆者在過往的文章里提到過,,config.plist 并沒有多神秘,其本質(zhì)上其實(shí)是一個(gè) XML 文件,,任意一個(gè)專業(yè)的代碼編輯器都可以操作它,。它擁有 XML 的所有基本特征,內(nèi)容上主要就是使用標(biāo)簽的樹狀結(jié)構(gòu),,XML 基礎(chǔ)知識可以參閱這個(gè)網(wǎng)站,,只需了解一點(diǎn)基礎(chǔ)即可。

config.plist 在 OpenCore 和 Clover 中主要作用是儲存各項(xiàng)設(shè)置的內(nèi)容,,當(dāng) OpenCore 和 Clover 升級時(shí),,其開發(fā)團(tuán)隊(duì)會通過修改 config.plist 的文件結(jié)構(gòu),增減功能區(qū)或?qū)?yīng)的選項(xiàng),,以支持新版本擴(kuò)展出來的功能,。也正因?yàn)槿绱耍?dāng)你替換了引導(dǎo)工具主文件而沒有升級 config.plist 后,,常會見到類似下面的錯(cuò)誤:

OCS: No schema for EnableForAll at 0 index, context <Quirks>!
OCS: No schema for EnableForAll at 5 index, contextr <Quirks>!
OCS: No schema for DummyPowerManagement at 8 index, context <Quirks>!
OCS: No schema for SkipCustomEtryCheck at 8 index, context <Boot>!

當(dāng)理解了 config.plist 文件后,,再來看這個(gè)錯(cuò)誤,其原因就非常容易理解:新版本引導(dǎo)工具擁有新的功能,,但是沒有在 config.plist 找到新功能對應(yīng)的設(shè)置,。本文接下來將介紹幾種比較“穩(wěn)”方法進(jìn)行升級操作,分別適合新手和有一定代碼基礎(chǔ)的老手,。

  • 方案一:下載新版引導(dǎo)器,,使用編輯工具(如 OpenCore Configurator、ProperTree,、PlistEdit Pro 等)對新版的 Sample.plist 進(jìn)行選項(xiàng)的復(fù)刻,;
  • 方案二,下載新版和舊版,使用代碼對比工具比較兩個(gè)版本的不同之處,,再對正在使用的 config.plist 進(jìn)行內(nèi)容結(jié)構(gòu)修改,。

「特別提示」OpenCore 部分版本升級后依然提示沒有升級,一般常見于 0.6.5,、0.6.6,、0.6.7 這三個(gè)版本,需要通過在引導(dǎo)界面重置 NVRAM 解決,,如果你的引導(dǎo)界面沒有 ResetNVRAM 的選項(xiàng),,打開以下設(shè)置:

config → Misc → Security → AllowResetNvram 勾選/True

 

掛載 EFI 分區(qū)

如果你已經(jīng)進(jìn)入 macOS,可以使用 Clover/OpenCore Configurator 一樣的掛載 EFI 分區(qū)步驟,,OpenCore Configurator:

下圖是 Clover Configurator:

如果你不愿意使用配置工具,,可在終端使用下面的命令:

diskutil list
sudo diskutil mount disk1s1

每次執(zhí)行一個(gè)命令,其中 disk1s1 需要根據(jù)你實(shí)際情況填寫,,一般情況下,,當(dāng)前系統(tǒng)的 EFI 分區(qū)是 disk1s1。

如果你還在 Windows,,打開 EFI 文件夾,,找到 config.plist,使用代碼編輯工具打開即可,;如果你的 EFI 文件在 U 盤里,,可使用 Diskgenuis 等軟件將 EFI 文件夾拷貝到桌面,修改后再拷貝回原來的位置(沒有配圖,,實(shí)在不明白請自行百度一下),。

 

方案一:復(fù)刻法

復(fù)刻法具體來說,需要根據(jù)你準(zhǔn)備使用的工具來劃分,,一種是圖形化配置工具,,例如 OpenCore Configurator;另一種是傳統(tǒng)的 Plist 編輯工具,,例如 ProperTree。當(dāng)每個(gè)新版本 OpenCore 和 Clover 發(fā)布時(shí),,開發(fā)團(tuán)隊(duì)一般都會提供一個(gè) Sample.plist,,OpenCore 一般位于 /doc/ 文件夾內(nèi);Clover 一般位于 /EFI/Clover/,,這個(gè)文件就是我們 EFI 文件夾內(nèi)的 config.plist 的原型,,把它拷貝到你的 efi 文件夾中即可進(jìn)行修改操作,下面將分別進(jìn)行操作演示,。

 

OpenCore/Clover Configurator

對應(yīng) OpenCore 的配置工具簡稱 OCC,,對應(yīng) Clover 的配置工具簡稱 CC,是一個(gè)讓人又愛又恨的東西。用它吧,,新版出來的時(shí)候經(jīng)常掉鏈子它自己的 bug 就能給你搗不少亂,;不用吧,一鍵生成各類設(shè)置確實(shí)相當(dāng)方便,,就便利性而言確實(shí)秒殺其它現(xiàn)有工具,。是否使用,各位見仁見智,,只強(qiáng)調(diào)一點(diǎn),,修改 config.plist 前務(wù)必注意備份

 

方法一,,直接使用支持新版的 Configurator 保存一遍舊版 config.plist,。是的就是這么簡單,就是使用支持新版本的配置器,,打開你的舊版 config.plist,,直接保存退出即可。如果使用代碼工具打開保存后的文件,,你會發(fā)現(xiàn)其結(jié)構(gòu)已經(jīng)幾乎和新版無異,。如何確認(rèn)配置工具支持的版本?比如這里:

或者配置在“關(guān)于”菜單中也會提到支持的版本,。這是筆者在星球交流群內(nèi)注意到有小伙伴提出來的方法,,簡單暴力,但是筆者經(jīng)實(shí)測,,并不能 100% 解決所有問題,,但在版本跨度較小的情況下可以,例如筆者測試過 OpenCore 0.6.1 升級到 0.6.2 使用此方法基本沒有問題,。但是版本跨度比較大的時(shí)候,,比如 OpenCore 0.5.5 升級到 0.6.2,此方法就非常容易出問題了,,版本跨度太大建議使用其他方法操作,。

 

方法二,分別打開新版和舊版的配置文件,,手動對照復(fù)刻選項(xiàng),,如下圖:

如圖,把每一個(gè)區(qū)域的選項(xiàng)和掛載的文件以及對應(yīng)的設(shè)置內(nèi)容逐一復(fù)制到新的文件里,,注意不要遺漏任何選項(xiàng),。

Clover 也是一樣的操作,需要注意的是 Clover r5120 以上版本集成了 OcQuirks,,r5125 及以上進(jìn)一步擴(kuò)展了其對應(yīng)的選項(xiàng),,r5120 以下版本到以上會是一個(gè)比較大的改動,,這里簡單梳理一下(OpenCore 用戶可以不用看這個(gè)部分):

  • r5120 以下版本主要使用 AptioMemoryFix.efi 來修復(fù)內(nèi)存問題,但是以上被替換成了 OcQuirks.efi,,新增了 Quirks 這一區(qū)域內(nèi)容,;
  • 因上面的原因,從 r5120 以下版本升級,,需要先刪除內(nèi)存修復(fù)驅(qū)動,,并參照 OpenCore 官方說明進(jìn)行 Quirks 的設(shè)置(沒錯(cuò),現(xiàn)在是 OpenClover 了??),,如果升級到 r5125 及以上版本時(shí),,Clover 官方在 doc 里提供了一個(gè) Quirks 設(shè)置樣本可以參考。

 

ProperTree/PlistEdit Pro

此類工具是 Plist 的專用編輯工具,,好處是不容易出現(xiàn)編輯導(dǎo)致的錯(cuò)誤,,劣勢嘛也很明顯,不如上面的配置工具來的方便,。

具體操作流程來說,,一共有兩個(gè)步驟,第一是批量復(fù)制 add 區(qū)域的內(nèi)容,,例如 acpi 下的各個(gè) ssdt 文件,,以及 Kernel 下的各個(gè) Kext,如圖:

上圖中,,紅色代表需要刪除,,藍(lán)色代表可以批量復(fù)制粘貼綠色是一般機(jī)型用不到的,,但是如果你的舊版 config.plist 里有就必須復(fù)制過去,;其余未提及的部分請逐個(gè)檢查 + 復(fù)刻值(例如 Quirks 部分)。至于如何批量復(fù)制粘貼,?見下圖:

以 ACPI 區(qū)域下的 SSDT 表為例,,打開新版文件,找到 ACPI → Add,,右鍵刪除(Remove)整個(gè) Add 區(qū),。

打開舊版文件,找到 ACPI → Add,,右鍵復(fù)制(Copy)整個(gè) Add 區(qū),。

在新版文件中,找到 ACPI(因?yàn)檫@是之前 Add 區(qū)的父節(jié)點(diǎn)),,選中,右鍵并粘貼(Paste)整個(gè) Add 區(qū),。

最后可以拖動最右側(cè)滑塊調(diào)整區(qū)域順序,。

其二,就其它設(shè)置方面,例如 Kernel → Quirks,,照著你的舊版的文件抄設(shè)置即可,。注意 Kernel 這個(gè)部分其實(shí)是最近幾個(gè)版本變化比較多的地方,例如 0.6.1 升級到 0.6.2 就把 DummyPowerManagement 挪到了別的地方,,這種情況,,如果你用不到這個(gè) Quirk 還好,需要用的話,,那就需要去看官方的說明文檔啦,。

 

方案二:對照法

此方法適合有一定代碼基礎(chǔ)的小伙伴,手法熟練的話效率非常高,,但完全沒有任何代碼基礎(chǔ)和悟性的新手請勿輕易嘗試,,很容易弄壞你的 config.plist,請務(wù)必做好備份,。

這里需要用到一個(gè)代碼對比工具:Beyond Compare,。這是一個(gè)跨平臺對比工具,可以對比多種文件/文件夾,,有 Windows/macOS/Linux 版本,。很容易找到下載地址,這里就不貼了,。

當(dāng)前內(nèi)容被隱藏,,登陸后查看

已有35674次閱讀

首先運(yùn)行 BeyondCompare,這里有兩種思路,,其一是新版 sample.plist 和舊版的 sample.plist 進(jìn)行對比,,因?yàn)槿绻?sample.plist 和 config.plist 對比,不一樣的地方會特別多,,不熟悉代碼的人很容易弄錯(cuò),;其二是 sample.plist 直接和 config.plist 進(jìn)行對比,因?yàn)榭梢灾苯釉诓町惪梢暬那闆r下進(jìn)行修改替換內(nèi)容,。

 

Sample.plist 對照

那么先說說第一種思路的實(shí)踐方式,,首先打開兩個(gè)版本的 sample.plist,可以清晰的看到兩個(gè)版本不同的地方:

接下來打開 Visual Studio Code,,這是一款微軟推出的跨平臺代碼編輯工具,,非常好用。使用 VScode 打開你舊版本的 config.plist,,定位到差異位置,,根據(jù)新版本結(jié)構(gòu)進(jìn)行修改。

如下圖,,這一處就修改完成了,。

其它部分根據(jù)比對結(jié)果修改你的 config.plist,,完成后保存即可。

上圖中部分,,注意 Quirks 后面都有一個(gè)對應(yīng)的布爾值<false/>或<true/>,,在增減的過程中不要遺漏,否則會導(dǎo)致 OpenCore 無法正確讀取 config 文件,。

若根據(jù)此方法修改,,最終你使用的還是原來的 Config.plist 文件。

 

Config.plist 對照

第二種方法是直接在對照工具中進(jìn)行修改,。此方法需要有一定的代碼基礎(chǔ),,需要能自行判斷代碼結(jié)構(gòu)。

修改完所有差異部分后,,保存文件即可,。這個(gè)方式雖然看起來繁瑣,但實(shí)際上沒有多少地方是需要修改的,,懂的自然懂,,能確定的是此方法不適合沒有任何代碼基礎(chǔ)的新手,具體過程這里不再贅述,。

 

替換引導(dǎo)工具文件

上一步完成配置文件的修改后,,把原來的 Config.plist 刪除,新版文件修改為 Config.plist,,這樣配置文件就完成了,。最后一步是替換新版文件。

 

OpenCore

OpenCore 的關(guān)鍵文件如下圖所示,,使用新版本替換即可:

  • /EFI/BOOT/BOOTx64.efi:OpenCore 的引導(dǎo)文件,,必須替換
  • /EFI/OC/Driver/OpenRuntime:OpenCore 的功能庫,必須替換
  • /EFI/OC/Bootstrap/Bootstrap.efi:如果使用了 Bootstrap,,則需要替換
    • 「提示」OpenCore 自 0.6.6 版本開始刪除了 Bootstrap,,如果之前你使用了 Bootstrap,需要先在 config 中關(guān)閉,,重啟計(jì)算機(jī)并重置 NVRAM,,最后再升級 OC 文件
  • /EFI/OC/Driver/AudioDxe.efi:如果使用了開機(jī)聲音,則需要替換
  • /EFI/OC/Driver/OpenCanopy:如果使用了官方主題服務(wù),,則需要替換

「再次提示」OpenCore 部分版本升級后依然提示沒有升級,,一般常見于 0.6.5、0.6.6,、0.6.7 這三個(gè)版本,,需要通過在引導(dǎo)界面重置 NVRAM 解決,如果你的引導(dǎo)界面沒有 ResetNVRAM 的選項(xiàng),,打開以下設(shè)置:

config → Misc → Security → AllowResetNvram 勾選/True

 

Clover

Clover 目前的情況較為復(fù)雜(因?yàn)樾掳姹救诤狭?OpenCore 核心),,總的來說,,基本上 r5119 及以下的版本,替換以下文件(以 UEFI 版為例):

  • /EFI/BOOT/Bootx64.efi
  • /EFI/Clover/CLOVERX64.efi
  • /EFI/Clover/drivers/AudioDxe.efi
  • /EFI/Clover/drivers/FSInject.efi

Clover r5120 — r5122 版本需要刪除以下文件(以 UEFI 為例):

  • /EFI/Clover/drivers/AptioMemoryFix.efi
  • /EFI/Clover/drivers/OsxLowMemFixDrv.efi
  • /EFI/Clover/drivers/OsxAptioFixDrv.efi
  • /EFI/Clover/drivers/OsxAptioFix2Drv.efi
  • /EFI/Clover/drivers/OsxAptioFix3Drv.efi
  • /EFI/Clover/drivers/OsxAptioFix2Drv-free2000.efi
  • /EFI/Clover/drivers/MemoryAllocation.efi

添加以下文件:

  • /EFI/Clover/drivers/OcQuirks.efi

Clover r5123 及以上:

  • 由于正式集成了 OpenCore 的核心,,因此不再需要 OcQuirks.efi ,如果有請刪除,;
  • r5123 及以上需要單獨(dú)設(shè)置 Quirks 區(qū)域選項(xiàng),,這個(gè)部分是 OpenCore 的功能,可參考 Clover 發(fā)行文檔中的樣本來進(jìn)行設(shè)置,。

 

最終檢查

最后,,請依次檢查一遍所做的配置和替換的文件,也可通過下面這個(gè)網(wǎng)站驗(yàn)證 config.plist 文件配置正確性,。

  • https://opencore.
  • 一般來說支持 OpenCore 最新版本,。

如果你足夠幸運(yùn),那么上面這些都做完以后,,你就可以愉快地使用新版本引導(dǎo)工具正常進(jìn)入 macOS,。但對于跑代碼過程中的小伙伴,可以先恢復(fù)備份,,或參考這篇文章:OpenCore 安裝卡住的拯救手冊Q&A,。

 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多