top of page

2011年Apple iMac灌WIN10後沒有聲音解決方式

作家相片: 助理工程師-小宇助理工程師-小宇

已更新:1月25日

解決方案如下:


使用 36 位元根橋建立 dsdt-modified.aml DSDT 文件

載入 dsdt-modified.aml 作為登錄機碼覆蓋或記憶體中替換

透過裝置管理員中的「大記憶體」區域確認成功


1.下載並安裝所需工具:

Windows 驅動程式工具包 (WDK),其中包含 Windows ASL 編譯器 (asl.exe)

Windows 二進位工具(WBT - 2016 年 12 月)

Notepad++

選取檔案
選取檔案

Windows 二進位工具(WBT - 2016 年 12 月)提取到 c:\dsdt 目錄。  [較新的 WBT 有解析錯誤]

解壓縮後
解壓縮後

Windows 驅動程式工具包 (WDK),其中包含 Windows ASL 編譯器 (asl.exe)

Notepad++ 文字編輯器,帶有「搜尋」->「前往」(行)選單,可在 asl 或 iasl 編譯失敗時進行快速行編輯


2.將 WDK 的 ASL 編譯器複製到 c:\dsdt 目錄中。透過開啟命令提示字元(以管理員身份執行)然後複製並貼上以下命令來執行此操作。這邊asl.exe 路徑可能會在其他路徑,這次的是在C:\Program Files (x86)\Windows Kits\10\Tools\10.0.26100.0\x64\ACPIVerify。再視情況手動貼上

手動貼上
手動貼上

mkdir c:\dsdt

c: & cd \dsdt

set 64bit_OS_asl="C:\Program Files (x86)\Windows Kits\10\Tools\x64\ACPIVerify\asl.exe"

set 32bit_OS_asl="C:\Program Files (x86)\Windows Kits\10\Tools\x86\ACPIVerify\asl.exe"

copy /y %32bit_OS_asl% c:\dsdt > nul & copy /y %64bit_OS_asl% c:\dsdt > nul

if not exist c:\dsdt\asl.exe echo ERROR: Failed to copy asl.exe to c:\dsdt


3.在命令提示字元下使用這些命令(以管理員身分執行)將 ACPI 表轉儲到磁碟檔案(dsdt.asl 和 dsdt.dat)。創建的 dsdt.asl 被複製到此處作為 dsdt-modified.asl ,稍後將使用它來進行所需的修改。

c: & cd \dsdt

acpidump -b -z

asl /u dsdt.dat

copy dsdt.asl dsdt-modified.asl

執行完會變這樣

資料匣
資料匣

4.將此 >> refs.txt 檔案 << 儲存到您的 c:\dsdt 資料夾。它有什麼用?來自tonymacx86:iasl 反組譯器將嘗試猜測參數的數量[對於未在任何文件中定義的未解析符號],但通常猜測得很差。您可以透過在 refs.txt 文字檔案中提供外部聲明來更正它。它包含一些常見(和不那麼常見)的缺失符號

refs.txt
refs.txt

5.從命令提示字元 (admin),將 dsdt.dat 反編譯為 dsdt.dsl 。這裡使用 refs.txt 檔案。然後將 dsdt.dsl 複製為 dsdt-modified.dsl,我們將在其上進行所需的更改。

c: & cd \dsdt

iasl -da -dl -fe refs.txt dsdt.dat

copy dsdt.dsl dsdt-modified.dsl


6.使用 Notepad++ 開啟產生的 c:\dsdt\dsdt-modified.dsl 檔案並蒐索 ResourceProducer。下面是一系列「DWordMemory」資源條目。在該區域的最後一個 DWordMemory 條目下(通常在 _CRS 方法上方)新增一個「QWordMemory」(64 位元)條目,如下所示。選擇的範圍是 36 位元範圍 (< 64GB),以保持與支援 PAE 的 32 位元 Windows 的兼容性。選擇 48GB 以上的位置是為了緩解配備 32GB 的系統的問題。這裡我們使用 48.5GB 到 56.25GB 之間。一旦系統開始配備 64GB RAM,就需要對其進行修改以使用 64 位元位址。

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

 0x00000000,         // Granularity

   0x000A0000,         // Range Minimum

   0x000BFFFF,         // Range Maximum

   0x00000000,         // Translation Offset

   0x00020000,         // Length

   ,, , AddressRangeMemory, TypeStatic)

// - ADD THIS SECTION ---------------------------------------------------------------------------

QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

   0x0000000000000000, // Granularity

   0x0000000C20000000, // Range Minimum,  set it to 48.5GB

   0x0000000E0FFFFFFF, // Range Maximum,  set it to 56.25GB

   0x0000000000000000, // Translation Offset

   0x00000001F0000000, // Length calculated by Range Max - Range Min.

   ,, , AddressRangeMemory, TypeStatic)

// ----------------------------------------------------------------------------------------------

})

   Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings

修完後長這樣

修正過後
修正過後

7.建立 dsdt-modified.aml 檔案。 '-ve' 停用警告訊息。

c: & cd \dsdt

iasl -ve dsdt-modified.dsl

進到提示語
進到提示語

8.載入 dsdt-modified.aml 作為登錄機碼覆寫並啟用 Windows 測試模式

在這裡,我們載入 dsdt-modified.aml 作為 Windows 註冊表 DSDT 覆蓋。


在命令提示字元(管理員)中鍵入以下內容。  必須安裝包含 asl.exe 的 WDK 才能正常運作。

c: & cd \dsdt

asl /loadtable dsdt-modified.aml 

字元如上
字元如上

9.二.啟用 TESTSIGNING 模式以套用登錄機碼覆寫。在命令提示字元(管理員)中輸入:

bcdedit -set TESTSIGNING ON

完成
完成

10.重新啟動系統

這樣聲音問題就解決了


若您遇到任何辦公室資訊設備故障或需規畫及租賃問題,可來電07-3221717,或加入官方LINE:@yjst,讓永捷系統科技幫您用最低經費做最大效益維護及規劃


#電腦維修

#筆電維修

#蘋果裝置全系列軟體處裡


26 次查看0 則留言

最新文章

查看全部

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page