x86 硬件上的 Mac OS X 2008–2024 技術文獻庫
InfiniteMac OSx86 › OSx86 10.X 核心架構與安裝配置 › Mac OS X 10.5.8 正式發佈及更新回報
265,008 reads · 2009-08-05 – 2009-09-02
技術報告 10.X 核心架構

Mac OS X 10.5.8 正式發佈及更新回報

標題已經說明一切:Apple 正式釋出 Mac OS X 10.5.8 更新!詳情請參閱 Apple 官方支援文件 support.apple.com/kb/HT3606。

主筆作者
@tham50 發表於 2009-08-05
所屬專區
OSx86 10.X 核心架構與安裝配置
典藏規模與紀錄
265,008 次歷史閱讀 · 32 則精選技術筆記(萃取自 34 則原始回帖) · 2009-08-05 – 2009-09-02
參與貢獻成員 (21)
@Dano77 (4)@tham50 (3)@topsykretts (3)@aschar1 (3)@Imkantus (3)@atka (2)@arterio (2)@miliuco@slic@CyCLoBoT@Aydinz@pαuℓzurrr.@Macint0shHD@nixola@intamara@Taisto+5 more
相關硬件參考
SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗ AMD Radeon GPUs (QE/CI) ↗
香港繁體精譯技術專卷 · 完整保留原始指令、Kext 名稱、ACPI 節點與開機參數查看英文原版 (Original English) →

標題已經說明一切。

詳細更新內容請見:support.apple.com/kb/HT3606

社群實測與技術補充筆記

自 34 則原始討論回帖中萃取 32 則高價值技術回應

技術筆記 #1 @miliuco 2009-08-05

從 10.5.7 成功更新:

- AHCI 模式(已在 BIOS 中停用 IDE)
- 使用來自 netkas.org 適用於 10.5.8 的 dsmos 與 Disabler
- 使用 Chameleon 2 RC1 開機引導程式,因為 RC2 無法正常載入 com.apple.Boot.plist 中的設定項目(如 timeout、顯示卡 EFI 字串等)
- 針對 NVIDIA 8800GT 使用顯示卡 EFI 字串(由 Inside 開發的 EFI Studio 生成)
- 重新安裝 ALC889a 音效驅動(使用 Pcwiz 開發的 Gigabyte Control Center)
- Geekbench 與 Xbench 的跑分結果與 10.5.7 相同。

技術筆記 #2 @slic 2009-08-05

嗨,我已經透過系統內建的「軟件更新」(Software Update)成功將 iATKOS 從 10.5.7 直接升級到 10.5.8!

Chameleon 2、
Intel C2D、
VoodooHDA、
VoodooPS2Controller、
BCM 57xx、
Intel GMA X3100、
2GB 記憶體
自訂 DSDT.aml
原版核心(Vanilla Kernel)

所有功能運作正常,完全沒有問題!無需任何額外修改!

技術筆記 #3 @topsykretts 2009-08-06

我剛下載完更新包(目前系統是 iATKOS v7),如果一切順利的話我會回來編輯這篇帖子。

如果我沒回來更新,請為我祈禱吧。

好吧,更新包順利下載並完成了「安裝」,但到了準備重新啟動的階段,它只關掉了頂部選單列和所有視窗,然後就一直停留在藍屏畫面……完全沒有重新開機。系統看起來並沒有死機,滑鼠游標還可以移動……但硬碟指示燈完全沒有讀寫動作。有人能幫幫忙嗎?

我長按電源鍵強制關機,然後再重新開機,結果進去檢查作業系統版本,竟然還是停留在 10.5.7。

技術筆記 #4 @CyCLoBoT 2009-08-06

各位師兄,我用的是 Gigabyte EP45-DQ6 底板,升級到 10.5.8 之後音效就徹底失效了。我記得底板內建的是 ALC889A 音效晶片,請問該如何修復?

技術筆記 #5 @Aydinz 2009-08-06

只要刪除 Extensions 資料夾裏面的音效核心延伸模組,再把你在 10.5.7 時使用的舊版音效核心延伸模組放回去就行了:

rm -rf /System/Library/Extensions.mkext
kextcache -k /System/Library/Extensions/

接著執行以上指令重建核心延伸模組快取(Kext Cache)並重新開機,希望這樣就能解決問題。

技術筆記 #6 @aschar1 2009-08-06 ↳ Re: @CyCLoBoT
@CyCLoBoT各位師兄,我用的是 Gigabyte EP45-DQ6 底板,升級到 10.5.8 之後音效就徹底失效了。我記得底板內建的是 ALC889A 音效晶片,請問該如何修復?

試試使用 EFI 字串或者修補你的 DSDT。

這個方法可以直接配搭原版 AppleHDA.kext 運作(記得移除 HDAEnabler 以及所有 Legacy 舊版核心延伸模組!)。至少在我的 Gigabyte X58-UD5(BIOS 版本 F8e)底板上完全正常,理論上在其他 Gigabyte 底板上也應該通用。

將你的 DSDT.aml 拖曳到 iASLMe(media fire.com/?jchmtymqlmd%29)的程式圖示上,它會反編譯出 DSDT.dsl,接著你就可以用「文字編輯」(TextEdit)開啟修改。修改完 DSDT.dsl 後,再次將它拖曳到 iASLMe 圖示上,就能重新編譯出修補好的 DSDT.aml。

非常簡單,
以下是具體的修補內容:

1. 利用搜尋功能,將所有的 AZAL 項目替換為 HDEF
(共有 2 處)

2. 將整個 Device (HDEF) 區段替換為以下代碼:

Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0D,
0x05
})
}

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x08)
{
"codec-id",
Buffer (0x04)
{
0x89, 0x08, 0xEC, 0x10
},

"layout-id",
Buffer (0x04)
{
0x0C, 0x00, 0x00, 0x00
},

"device-type",
Buffer (0x11)
{
"ALC889a"
},

"PinConfigurations",
Buffer (0x28)
{
/* 0000 */ 0x50, 0x70, 0x21, 0x01, 0x40, 0x01, 0x13, 0x90,
/* 0008 */ 0x20, 0x30, 0x81, 0x01, 0x41, 0x40, 0x01, 0x01,
/* 0010 */ 0x30, 0xE0, 0xC5, 0x01, 0x60, 0xE0, 0x45, 0x01,
/* 0018 */ 0x0F, 0x00, 0x00, 0x40, 0x0F, 0x00, 0x00, 0x40,
/* 0020 */ 0x10, 0x01, 0xA0, 0x90, 0x11, 0x01, 0xA0, 0x90
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}

If (LEqual (Arg2, One))
{
Return (One)
}
}
}

Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
}

Name (BUFA, ResourceTemplate
{
IRQ (Level, ActiveLow, Shared, )
{3,4,5,6,7,9,10,11,12,14,15}
})
Name (BUFB, ResourceTemplate
{
IRQ (Level, ActiveLow, Shared, )
{}
})
CreateWordField (BUFB, One, IRQV)
Device (LNKA)
{
Name (_HID, EisaId ("PNP0C0F"))
Name (_UID, One)
Method (_STA, 0, NotSerialized)
{
And (PIRA, 0x80, Local0)
If (LEqual (Local0, 0x80))
{
Return (0x09)
}
Else
{
Return (0x0B)
}
}

Method (_PRS, 0, NotSerialized)
{
Return (BUFA)
}

Method (_DIS, 0, NotSerialized)
{
Or (PIRA, 0x80, PIRA)
}

Method (_CRS, 0, NotSerialized)
{
And (PIRA, 0x0F, Local0)
ShiftLeft (One, Local0, IRQV)
Return (BUFB)
}

Method (_SRS, 1, NotSerialized)
{
CreateWordField (Arg0, One, IRQ1)
FindSetRightBit (IRQ1, Local0)
Decrement (Local0)
Store (Local0, PIRA)
}
}

這份 DSDT 修補程式要歸功於 Solar。類比立體聲輸出的音質相當不錯,儘管開機時會出現幾行 Sound Assertion 警告訊息。

類比音效輸出必須插在 Line Out 插孔(黑色插孔)。

補充:這份 DSDT 修補程式適用於 10.5.8 與 10.6,但在 10.5.7 下無法運作。

技術筆記 #7 @aschar1 2009-08-06

在我的 X58-UD5 底板上,10.5.8 跟 Snow Leopard 一樣令睡眠(Sleep)功能失效了。

技術筆記 #8 @atka 2009-08-06

更新過程非常順利,而且在我的底板上,睡眠功能終於恢復正常了!

技術筆記 #9 @aschar1 2009-08-06

atka,請問你用的是哪塊底板?有使用 OpenHaltRestart 嗎?

技術筆記 #10 @Imkantus 2009-08-06 ↳ Re: @topsykretts
@topsykretts好吧,更新包順利下載並完成了「安裝」,但到了準備重新啟動的階段,它只關掉了頂部選單列和所有視窗,然後就一直停留在藍屏畫面……完全沒有重新開機。系統看起來並沒有死機,滑鼠游標還可以移動……但硬碟指示燈完全沒有讀寫動作。有人能幫幫忙嗎?

嗨,
我之前進行早期版本更新時也遇過一模一樣的問題,當時重新套用修補版的 AppleSMBIOS.kext 就解決了。希望這對你有幫助!

技術筆記 #11 @Macint0shHD 2009-08-06

我也成功完成更新了,完全沒有問題,電池續航力還多出了 10 分鐘!

技術筆記 #12 @nixola 2009-08-06

透過「軟件更新」直接升級,一切順利,除了音效之外完全不需要打任何修補程式。
多謝 Apple 帶來這麼棒的更新 :)

技術筆記 #13 @intamara 2009-08-06

移除 Disabler.kext(即 IntelCPUPMDisabler)之後,睡眠功能就恢復正常了。我有配搭自訂的 DSDT.aml。

作者修訂 #1 @tham50 2009-08-06 ↳ Re: @intamara

我這邊也順利完成更新了。
安裝更新、把自訂的核心延伸模組(Kext)放回去、刪除 AppleIntelCPUPowerManagement……搞定。

技術筆記 #14 @atka 2009-08-06 ↳ Re: @aschar1
@aschar1atka,請問你用的是哪塊底板?有使用 OpenHaltRestart 嗎?

我用的是跨型號刷成 P35R BIOS 的 P35C 底板。我也不確定究竟是這次系統更新還是我自己修改 DSDT 解決了睡眠問題。我終於成功讓 AHCI 硬碟在不加裝任何額外核心延伸模組的情況下識別為內置硬碟,而且音效也無需依賴 HDAEnabler 就能正常運作了。

技術筆記 #15 @topsykretts 2009-08-07 ↳ Re: @Imkantus
@Imkantus我之前進行早期版本更新時也遇過一模一樣的問題,當時重新套用修補版的 AppleSMBIOS.kext 就解決了。希望這對你有幫助!

請問可以說得更具體一點嗎?我是不是應該再跑一次更新程式,等它在重新啟動卡住時強制斷電關機,接著重新開機進入系統後把備份的 .kext 複製回去,再重新開機就會顯示為 10.5.8 了嗎?

作者修訂 #2 @tham50 2009-08-07 ↳ Re: @topsykretts

以 root 權限操作:

開啟 Finder 或任何你慣用的檔案管理員,並保持視窗開啟!
先將相關的核心延伸模組備份複製到其他位置。
開始執行系統更新。
切記要讓 Finder/檔案管理員保持開啟狀態!
更新完成後,先不要按「重新啟動」,直接把剛才備份的核心延伸模組複製回去。
現在才按「重新啟動」。

技術筆記 #16 @Imkantus 2009-08-07 ↳ Re: @topsykretts
@topsykretts請問可以說得更具體一點嗎?我是不是應該再跑一次更新程式,等它在重新啟動卡住時強制斷電關機,接著重新開機進入系統後把備份的 .kext 複製回去,再重新開機就會顯示為 10.5.8 了嗎?

首先我不敢保證這招對你一定有效,我只是說它在之前的系統更新中幫我解決過這個問題。
你在更新前有先備份整個 Extensions 資料夾嗎?如果沒有的話,強烈建議你以後更新前一定要先備份。
如果你有備份,只要用任何一張 OSx86 安裝光碟開機,開啟終端機(Terminal),將系統硬碟掛載為可讀寫(r/w)模式,把舊版的 AppleSMBIOS.kext 複製回去,檢查檔案權限,然後加上 -f 參數重新開機即可。
如果你沒有備份,或許可以試試 netkas 發佈的 v1.0.12 版本,至少它在 10.5.7 下還能正常運作,我猜在 10.5.8 下應該也行得通。不過你得先把它存進格式化為 HFS 的 USB 手指之類的儲存裝置上,才能在安裝光碟的終端機視窗中讀取並複製它。

(還有,我知道現在配搭新版 Chameleon v2 等引導程式已經可以直接使用原版 SMBIOS,不過我認為這個方法還是值得一試。)

技術筆記 #17 @Taisto 2009-08-07

我這邊更新毫無問題,10.5.8 配搭 Andy 的 9.6.0 核心運作一切正常。

技術筆記 #18 @topsykretts 2009-08-07 ↳ Re: @Imkantus
@Imkantus首先我不敢保證這招對你一定有效,我只是說它在之前的系統更新中幫我解決過這個問題。你在更新前有先備份整個 Extensions 資料夾嗎?如果沒有的話,強烈建議你以後更新前一定要先備份。如果你有備份,只要用任何一張 OSx86 安裝光碟開機,開啟終端機(Terminal),將系統硬碟掛載為可讀寫(r/w)模式,把舊版的…

我照著下面這個方法做:

@tham50以 root 權限操作:開啟 Finder 或任何你慣用的檔案管理員,並保持視窗開啟!先將相關的核心延伸模組備份複製到其他位置。開始執行系統更新。切記要讓 Finder/檔案管理員保持開啟狀態!更新完成後,先不要按「重新啟動」,直接把剛才備份的核心延伸模組複製回去。現在才按「重新啟動」。

這樣做確實讓更新成功安裝上去了,但它依然無法自行重新開機。畫面去到帶有旋轉載入菊花(不是彩色轉輪游標)的藍屏階段就停住了,硬碟完全沒有讀寫動作,於是我等了幾分鐘後強制按電源鍵關機,再手動開機。進去後發現 10.5.8 更新確實已經安裝好了!現在我正設法找出電腦無法正常關機的原因。另外,按手提電腦上的電源鍵也叫不出關機選單,而且無法進入睡眠(一按睡眠電腦就會直接關機)。我目前正在排查原因,如果大家有任何頭緒,請務必告訴我。

技術筆記 #19 @SaCleoCheater 2009-08-07

已經推出了嗎!?我這陣子到底去哪了……看來我真的老了。

總之,透過「軟件更新」順利升上去了,完美原版(Vanilla)狀態。

技術筆記 #20 @Imkantus 2009-08-07 ↳ Re: @topsykretts
@topsykretts畫面去到帶有旋轉載入菊花(不是彩色轉輪游標)的藍屏階段就停住了,硬碟完全沒有讀寫動作,於是我等了幾分鐘後強制按電源鍵關機,再手動開機。進去後發現 10.5.8 更新確實已經安裝好了!現在我正設法找出電腦無法正常關機的原因。另外,按手提電腦上的…

如果我沒理解錯的話,你現在已經成功跑上 10.5.8,但在關機、重新開機、睡眠等功能上遇到問題?
檢查一下你的系統有沒有安裝 OpenHaltRestart.kext。如果沒有的話,可以從這裏下載(media fire.com/?yznzqmhmtng)試試看。希望這能幫你解決問題。

技術筆記 #21 @Ali C. 2009-08-08

真是百試百靈——無論系統更新本身有多簡單,我第一次落手總是有辦法搞砸。
罪魁禍首全因為我在 Pacifist 裏面手快按了「Replace」(取代)而不是「Update」(更新)。當時我趕時間,加上有陣子沒用這個軟件,一時忘記了正確步驟。長話短說,我最後只好手動把所有系統檔案覆蓋回去,然後重新執行一次更新,這次終於按對按鈕了。
目前系統看起來很穩定,但我的檔案權限大概再也回不去從前了。

技術筆記 #22 @joransrb 2009-08-08

我這邊更新也十分順利……完全不需要重新安裝任何東西。

技術筆記 #23 @xlucian 2009-08-08

完美更新……只需要重新安裝 X1600 顯示卡的核心延伸模組……現在開啟「系統描述」(System Profiler)查看「硬體概覽」,裏面還會多出一行 Hardware UUID:後面跟著一大串數字。

技術筆記 #24 @arterio 2009-08-15

透過系統內建的「軟件更新」完成升級,過程非常完美,完全不需要重新安裝任何核心延伸模組。

技術筆記 #25 @Dano77 2009-09-01

各位兄弟祝我好運吧,我準備在 iATKOS v7 上直接透過 Mac OS 軟件更新工具從 10.5.7 升級到 10.5.8(機器硬體規格請見簽名檔)。

且看結果如何……我記得我用的是原版 9.6 核心,最近甚至還特地去買了一套 Apple 原廠鍵盤和滑鼠……

萬一更新不如預期,我已經事先透過終端機備份了所有核心延伸模組和核心檔案,希望萬一有甚麼差池,還原這些備份就能把系統救回來……

為了搞定系統更新,這已經是我第 5 還是第 6 次重灌系統了,多到我自己都記不清了……

最搞笑的是,我在這部 Mac 上最想擁有的功能,竟然只是滑鼠移過去時圖示會自動放大的動態 Dock 效果……是不是很奇葩?

Dan

技術筆記 #26 @Dano77 2009-09-01

好吧,我是個白痴,我剛才已經在設定裏面找到那個 Dock 放大功能了……現在純粹是為了賭一口氣才繼續安裝更新,其實我根本不需要升級吧!哈哈(LOL)。

技術筆記 #27 @Dano77 2009-09-01

好,報告一下(來自一個新手的回報):在完全沒有動用任何 sudo 指令或複雜腳本的情況下,從 10.5.7 更新到 10.5.8 並安全重新開機了……

重新開機時,我戰戰兢兢地輸入了 -x -v 參數,心想應該非這樣做不可。

但是……諷刺的是,輸入之後機器竟然未經我同意就自己重新開機了。

抱著最後一搏的心態,我想:好吧……這次我要盯緊一點看清楚錯誤訊息,然後上網 Google 查原因;最壞的情況大不了就是還原備份的核心與核心延伸模組,聽天由命……

結果……下一次開機我只加了 -v 參數,竟然就直接順利進入桌面了……

成功用上 10.5.8 系統啦,寶貝!

希望它能保持穩定……現在只剩最後一個問題:我的 ALC883 音效卡沒聲音了。

「系統描述」裏面有顯示內建音效與所有音源連接埠,但無奈就是發不出聲音……

看來我得再去研究一下怎麼修復音效,搞定之後就徹底完美了!

技術筆記 #28 @Dano77 2009-09-01

報告各位,我的 ALC883 音效也徹底搞定了……

我用了這裏提供的驅動程式:media fire.com/file/teqcidxznye/AppleHDA.kext.zip

這個檔案足足有 3.1MB,而系統原版檔案只有 1.2MB……

我是從這個連結 ↗找到相關資訊的……
原帖作者討論的是 10.5.6,但我用完全相同的驅動程式在 10.5.8 下也成功讓音效正常運作了。奇怪的是,在更新重新開機前的 10.5.7 系統上,原本的音效明明還是正常的……

技術筆記 #29 @xXrkidXx 2009-09-01

去他的……我字面上今天(TODAY)才剛剛把我的 Gateway 838GM 調校到完美無瑕的狀態……我暫時才不需要甚麼 10.5.8,等以後再說吧。

技術筆記 #30 @arterio 2009-09-02

我上星期才剛安裝好 iATKOS v7(10.5.7)並直接升級到 10.5.8。過程無比順暢,甚麼額外設定都不用做。它確實像 Dano 提到的那樣自己重新啟動了一次,但第二次重新開機後就直接進入桌面了,所以我猜更新流程本來就會那樣重啟兩次。

參與實測與協作驗證成員: @pαuℓzurrr.
文獻來源與貢獻者溯源名錄(共 21 位具名成員 · 原始討論串 #3554)
成員用戶名本卷貢獻角色發帖數活躍時間窗
@Dano77核心貢獻者42009-09-01
@tham50主筆作者32009-08-05 → 2009-08-07
@topsykretts核心貢獻者32009-08-06 → 2009-08-07
@aschar1核心貢獻者32009-08-06
@Imkantus核心貢獻者32009-08-06 → 2009-08-07
@atka協作成員22009-08-06
@arterio協作成員22009-08-15 → 2009-09-02
@miliuco協作成員12009-08-05
@slic協作成員12009-08-05
@CyCLoBoT協作成員12009-08-06
@Aydinz協作成員12009-08-06
@pαuℓzurrr.協作成員12009-08-06
@Macint0shHD協作成員12009-08-06
@nixola協作成員12009-08-06
@intamara協作成員12009-08-06
@Taisto協作成員12009-08-07
@SaCleoCheater協作成員12009-08-07
@Ali C.協作成員12009-08-08
@joransrb協作成員12009-08-08
@xlucian協作成員12009-08-08
@xXrkidXx協作成員12009-09-01

選擇語言 · Choose your language