黑蘋果
走到今時今日,仰賴 世界各地高手的出招
各種仿冒 ,修正等
使得 OS X 安裝在PC硬體上
逐漸地 趨近完美了
但是.每每更新後 ,我想幾乎 都會遇到的問題 就是“失聲”
System/Library/Extensions/AppleHDA.kext
會被覆蓋(更新後 的 高版號)
於是乎,
假如能 “自動修正” 因更新 所被替換的 文件 ,定義值
是不是 就能
不受更新版號 的覆蓋 ,照常 使用我們 的 自定義呢?
以下文章,將實現 這個“目標”前進....
首先,
AppleHDA.kext的修改 是環環相扣 其中有一步驟出錯
沒有聲音輸出 是肯定的
目前的AppleHDA.kext 是如何修改的?
例如我的音效卡 是ALC892 (0x10ec0892) ,Layout=01
AppleHDA這個文件 ,
我們可以 透過 HexEdit Mac 之類的軟體
打開 將 8b19d411替換成 9208ec10 (兩次)
再來
輸入/出 節點 定義值
被放於
AppleHDA.kext 右鍵顯示 套件內容
Contents/Resource/layout1.xml.zlib 和 Platforms.xml.zlib
另一處
AppleHDA.kext 右鍵顯示 套件內容
Contents/PlugIns/AppleHDAHardwareConfigDriver.kext
右鍵顯示 套件內容
Contents/info
IOKitPersonalities>HDA Hardware Config Resource>HDAConfigDefault
以上的工作 都是在修改AppleHDA.kext
最後
再配合 layout值的 設定
(dsdt.aml 或 HDAEnabler1.kext 又或 Clover均能 標註成功)
如一開始 所提到更新後 就會被完成覆蓋掉了
那我們就來技術犯規
讓 AppleHDA.kext 不被加載 (不是刪除它 噢)
我們需要
一個替代而且 能調用 原生AppleHDA.kext插件的 驅動(.kext)
至於名稱是啥?
隨便啦 姑且稱作 AppleHDA8Series.kext
開始
把一個 原生的AppleHDA.kext(10.9.1原生版號是 2.5.3)
拷貝到 桌面 (改名稱 為 AppleHDA8Series.kext)
右鍵顯示 套件內容
只留 三個東西(info.plist , MacOS資料夾 , Resource資料夾)
其他都刪除.
(MacOS資料夾 與 Resource資料夾 內也是要 空的)
逐一修改
info.plist
將原生版號 2.5.3 都改成 9.1.1fc1 (三處)
MacOS資料夾 裏面
需要 有一個 AppleHDA的替身(捷徑)
指向位置:
/System/Library/Extensions/AppleHDA.kext/Contents/MacOS
Resorce資料夾 裏面
需要 修改好的 layout1.xml.zlib與 Platforms.xml.zlib 兩個文件
以上 這個 AppleHDA8Series.kext 就修改完畢
聰明的你,應該會想到
AppleHDA就個文件 與AppleHDAHardwareConfigDriver.kext
怎沒改呢? 更新也是會受影響呀!!
是的
我這裡是靠 Clover幫我們 自動替換 8b19d411>9208ec10
至於
AppleHDAHardwareConfigDriver.kext的info裡的
HDA Hardware Config Resource值
很簡單
加到 Fakesmc的info裏面 IOKitPersonalities
這樣 我們就可以 把 Apple8Series.kext 與 原生的AppleHDA.kext
用 Kextuility 之類工具 安裝
重啟之後
沒意外 就會發聲了
從這裡 觀察 AppleHDA.kext(2,5,3)不被 加載
被 加載 是AppleHDA8Series.kext(9.1.1)
而且 還成功調用
AppleHDAController.kext
AppleHDAHardwareConfigDriver.kext
接著,我下載 10.9.2版號更新 來驗證 此方法 是否可行?
答案是 :通過
10.9.2的 AppleHDA.kext(版號2.6.0)依然 未被加載
AppleHDA8Series.kext 依然是 被加載
而且 還成功調用
AppleHDAController.kext
AppleHDAHardwareConfigDriver.kext
因為 AppleHDA8Series.kext版號
高於 原生的AppleHDA.kext
因此 ,原生的AppleHDA.kext將不會 被加載
最後是希望 蘋果 不要去大改 AppleHDA.kext 的結構啦
附件下載:
10.9.1原生AppleHDA.kext,
改好的 AppleHDA8Series.kext
(自行放入 適合您的修改好的 layout1.xml.zlib與 Platforms.xml.zlib )
留言列表