28 次瀏覽

[指南]安裝第三方Kexts – El Capitan,Sierra,High Sierra,Mojave

安裝第三方Kexts

1.本指南涵蓋哪些MacOS版本?

本指南中詳述的方法適用於以下版本的MacOS
MacOS 10.11.X – El Capitan
MacOS 10.12.X – Sierra
MacOS 10.13.X – High Sierra
MacOS 10.14.X – Mojave
注意:如果您使用VirtualSMC代替FakeSMC,那麼您應該用Lilu和VirtualSMC kexts 替換本指南中提到的所有FakeSMC實例,另外一些用戶報告說有必要使用LiluFriend在啟動時儘早加載VirtualSMC過程 – 有關詳細信息,請參閱第7至第13頁。

2.我應該在哪里安裝第三方Kexts?

您應該將所有第三方kexts(包括FakeSMC)安裝到/ Library / Extensions(/ L / E)
警告:您不能簡單地使用Finder將kexts複製到/ L / E(參見下面的第7節)

3. EFI / Clover / kexts / Other怎麼樣?

似乎很多用戶的印象是,你可以簡單地所有第三方kext文件複製到下EFI /四葉草/ kext文件/其他,並允許三葉注入通過設置三葉草的kext文件- >系統參數- >進樣的kext為“是”,這將從而實現免維護和更原生的MacOS安裝。

這個假設是完全錯誤的……

4.為什麼我應該使用/ Library / Extensions而不是Clover注入的kexts?

與Hackintosh神話相反,讓Clover注入所有第三方的kexts並不會導致更清潔的安裝,事實上恰恰相反。
注入的Kexts位於受保護的MacOS內存空間之外。
注入大量的kexts會導致系統不穩定。
當由Clover注入時,許多第三方kexts將無法正常工作。
注入的Kexts不包含在內核緩存中,因此從MacOS錯誤檢查中排除。
在/ Library / Extensions中安裝kexts 是Apple認可和推薦的所有第三方託管位置。
如果您購買了需要安裝製造商MacOS驅動程序的硬件,那麼kexts將安裝在/ Library / Extensions中,那麼為什麼處理hackingtosh kexts有什麼不同呢?

5.如果那是真的,為什麼Clover甚至有這個功能呢?

Clover支持注入kexts的主要原因是加載運行以下內容所需的關鍵kexts: –
MacOS安裝程序
MacOS更新程序
MacOS恢復
由於以上都不是完整的MacOS操作系統,因此無法安裝運行它們所需的kexts,因此我們使用Clover 在運行它們之前註入我們需要的關鍵kexts。大多數用戶只需要FakeSMC在EFI /四葉草/ kext文件/其他以便運行上述所有包的。某些用戶可能需要添加其他驅動程序密鑰才能訪問第三方存儲控制器或基於NAS的TimeMachine備份,如果在運行Recovery時需要鼠標控制,筆記本電腦用戶可能需要添加鼠標或觸控板kext。

非常仔細地想想你的kext文件實際上需要在EFI /四葉草/ kext文件/其他 …你只需要絕對最低限度來運行上述包。

6. Clover如何知道是否注入了kexts?

您需要將Clover – > System Parameters – > Inject Kexts設置為“Detect”

使用此設置,當您選擇/啟動MacOS時,Clover將在/ Library / Extensions或MacOS內核緩存中查找FakeSMC,如果’檢測到’Clover將不會注入任何 kexts並讓MacOS從/ Library / Extensions(或內核緩存)加載所有第三方kexts(包括FakeSMC),這是本指南第4節中所述的所有原因的首选和推薦方法。 如果Clover沒有 ‘檢測’FakeSMC

在/ Library / Extensions或MacOS Kernel Cache中,例如在啟動Recovery或MacOS更新時,Clover將從EFI / Clover / kexts / Other文件夾中註入所有kexts 。

注意:也可以將Clover – > System Parameters – > Inject Kexts設置為“No”或“Yes”,這些值應視為調試設置,如果設置為“No”,則Clover將永遠不會注入任何kexts和因此您將無法運行Recovery或任何MacOS更新。如果設置為“是”,則Clover將在EFI / Clover / kexts / Other中註入所有關鍵字而不管其他任何條件,如果在/ Library / Extensions中有重複的kexts,這顯然會導致問題因為這些kexts將被加載兩次,如果你在這兩個位置有不同的版本,這可能會特別成問題。

7.如何在/ Library / Extensions中安裝kexts?

先決條件: –

首先,我們需要確保允許MacOS加載未簽名的kexts / drivers。

1.確保你有引導參數 kext-dev-mode = 1:-

2.然後在Clover的RTVariables部分中將BooterConfig和CsrActiveConfig設置為正確的值。

簡單的方法: – 如果您不熟悉使用終端/控制台命令將kext安裝到/ Library / Extensions文件夾並重建緩存。

那麼我建議使用以下方法: – 下載KextBeast,可在下載部分找到

,將要安裝的所有kext複製到桌面並運行KextBeast pkg文件,單擊繼續幾次,如果出現提示,請輸入管理員密碼並接受常規通知,直到您選擇安裝目標。選擇/ Library / Extensions並單擊Continue。 KextBeast會將您放置在桌面上的kext安裝到目標Extensions文件夾中。一旦KextBeast完成其工作,它將為您提供保留pkg或刪除它的選項。我一般點擊“保持”,因為我總是嘗試新的和不同版本的kext和KextBeast是一種快速簡便的方法來完成這項工作。 一旦KextBeast完成,我建議運行cVad的Kext Utility 2.6.6版本(點擊這裡

下載)將修復任何損壞的kext權限並重建緩存。只需運行應用程序並在出現提示時輸入您的管理員密碼,然後等待 Kext Utility執行此操作,它將需要一段時間…一旦您在應用程序底部看到黑色文本中的“退出”,您就會知道它何時完成窗口。警告:不要使用Kext Utility來安裝kext,因為它不支持將kext安裝到/ Library / Extensions中,但它確實可以很好地修復所有kext權限。 Kext Utility完成重啟系統後。

終端/控制台方法: –

使用Finder在桌面上創建一個文件夾,並將要安裝的所有文件複製到其中。
打開終端並使用“CD”命令將活動路徑更改為在步驟1中創建的文件夾。
使用以下命令將Kexts安裝到/ Library / Extensions: –
碼:
sudo cp -R *.kext /Library/Extensions

然後使用以下命令重建緩存: –

碼:
sudo kextcache -i /

完成後重啟系統。

注意:不要使用Finder將kext複製到/ Library / Extensions,因為它會導致kexts具有錯誤的權限。

8.更新Kexts

如果你需要更新一個或多個kexts然後使用Finder從/ Library / Extensions中刪除你想要更新的kexts(不要選擇all / delete all),然後使用其中一個來安裝新版本本指南第7節詳述的方法。 要更新EFI / Clover / kexts / Other中的kexts,只需使用Finder複製並粘貼新的kexts,並在出現提示時選擇“Replace”。

9.總結

1.複製FakeSMC和 only關鍵的內核擴展的運行MacOS的安裝,更新或恢復到需要 EFI/Clover/kexts/Other

2. 安裝 所有第三方kext文件(包括FakeSMC)來運行所需的MacOS /Library/Extensions

3.設置Clover – >系統參數 – > Inject Kexts為“Detect”