DXGI_ERROR_DEVICE_HUNG / 0x887A0005 和 0x887A0006:真正原因和實際有效的解決方案

最後更新: 15/10/2025
作者: 艾薩克
  • 啟動調試模式 NVIDIA 並返回參考時鐘以排除不穩定性
  • 停用實驗性功能(例如 RTX Dynamic Vibrance)和乾擾疊加層
  • 強制 DX11,修復檔案並使用 驅動程序 乾淨/穩定;如果失敗,請避免使用 OC/SLI
  • 作為進階測試,TdrLevel=0 和檢查 nvlddmkm.sys 權限可能會有所不同。

DXGI_錯誤_裝置_掛起

如果您遇到這種情況,那是因為 DXGI_ERROR_DEVICE_HUNG 訊息或其近親 DXGI_ERROR_DEVICE_REMOVED(代碼為 0x887A0006 和 0x887A0005)讓您抓狂,而且每個遊戲會話都會在桌面上毫無警告地結束。 我理解你:它們是危險的錯誤,它們出現在特定的標題中,有時你甚至不必重新安裝它們。 Windows 墳墓在本指南中,您將找到其他玩家在非常相似的情況下有效的現實原因和解決方案的詳細彙編。

以下內容摘自幾個真實案例: 使命召喚:從擁有高階裝備的 Warzone/MW3 到在 NVIDIA 測試版應用程式中啟用新功能時看到錯誤的 Microsoft Flight Simulator 使用者。 它包括經過驗證的步驟,例如啟用 NVIDIA 偵錯模式、編輯註冊表(TdrLevel)、停用 DX12、修復遊戲,甚至調整 nvlddmkm.sys 檔案的權限。材料很多,但我們會按邏輯順序逐步講解,這樣您就不會再浪費時間。

DXGI_ERROR_DEVICE_HUNG (0x887A0006) 和 DXGI_ERROR_DEVICE_REMOVED (0x887A0005) 是什麼

這兩個程式碼都表明 Windows 圖形子系統 (DXGI) 檢測到 GPU 沒有按預期響應,或者圖形設備在邏輯上已「斷開連接」。 實際情況是:遊戲與顯示卡失去通信,Windows 嘗試透過重新啟動驅動程式來恢復它。如果失敗,則強制關閉並顯示錯誤訊息。

其中存在細微差別:0x887A0006(DEVICE_HUNG)通常與掛起的遊戲或驅動程式命令有關;0x887A0005(DEVICE_REMOVED)表示驅動程式已重新啟動或 GPU 已變得不可用。 在《決勝時刻》等特定遊戲中,您有時會看到著名的 6068,這是與相同問題相關的引擎的另一個內部代碼。.

您可能熟悉的真實案例

DXGI_錯誤_裝置_掛起

一位擁有高階 PC 的用戶在經過幾天的測試後,在 Warzone/MW3 中再次遇到了故障:i9-13900K、RTX 2080 Ti MSI Lightning Z、32 GB DDR5 6600, SSD M.2 三星 EVO 2 TB、華碩 ROG Z790 主機板和 窗戶11 首頁。 嘗試從頭重新安裝 Windows, 將 DDU 與圖形驅動程式結合使用 (最新,526、537),停用 XMP,使用 MSI Afterburner 以 50/100/150/200 MHz 為步長進行降壓/降頻,重新安裝遊戲,以管理員身份運行,觸摸註冊表中的 DirectX 鍵,驗證文件,甚至將 GPU 更改為 RTX 2070 Super。沒有:只有 Warzone/MW3 掉落;其餘的都完美。

經過深思熟慮,那個人找到了一個挽救的組合:在 NVIDIA 控制面板(幫助選單)中啟動偵錯模式並授予該檔案完全權限。 nvlddmkm.sys 在 System32 中的 DriverStore 路徑內(屬性 > 安全性)。 然後他連續玩了三場遊戲,沒有一次崩潰,並且從 Battle.net 啟動器切換到 蒸汽。我把它留作筆記,供那些同樣陷入困境的人參考。

  如何在 Windows 11 中自訂桌布:完整指南

另一位玩家每 20 分鐘就會遇到一次崩潰,他嘗試調整註冊表中的 TdrDelay、運行 DDU 並降低圖形設置,但都沒有成功。 您的裝置:GTX 980 SLI、i7-4790K(4,5GHz)、16GB 記憶體和 1440p 顯示器這是一個典型的例子,多 GPU 配置或歷史超頻最終會對現代 API 造成損害。

在 Microsoft Flight Simulator 中,擁有 RTX 4070 Super 和測試版應用程式 NVIDIA_app_beta_v10.0.1.253 的人發現,啟用 RTX Dynamic Vibrance 總是會導致模擬器崩潰,並出現 dxgi_error_device_hung (0x887A0006)。 快速修復:在 NVIDIA 測試版應用程式中停用 RTX Dynamic Vibrance 是萬無一失的解決方法。.

最糟糕的是,在最近的遊戲中(例如《怪物獵人荒野》)出現了致命的 D3D 錯誤,例如“致命的 D3D 錯誤(24,DXGI_ERROR_DEVICE_REMOVED,0x887a0005)”。 此模式重複:驅動程式重新啟動或與 GPU 的通訊被切斷。.

發生原因:最常見的原因

在大多數情況下,問題不只是「一件事」。它通常是驅動程式、GPU 時鐘/電壓、遊戲/啟動器細節以及 TDR 等 Windows 看門狗的組合。 這些是我們在先前的案例中看到的最常見的觸發因素。:

  • 超頻/欠壓不穩定 在 GPU 或 CPU 上,即使您已經能夠連續幾個月玩其他遊戲而沒有任何問題。
  • 視訊驅動程式故障 在特定版本或更改後的殘留物中(因此為 DDU)。
  • 實驗功能 (例如 NVIDIA 測試版應用中的 RTX Dynamic Vibrance)導致不穩定。
  • 圖形 API:DX12 在某些引擎上會更加細膩;DX11 則趨向於更加保守。
  • 多 GPU 配置 (SLI/混合)和錯誤的 GPU 選擇 手提 帶有專用 iGPU +。
  • 看門狗 TDR 如果圖形任務花費的時間“太長”,Windows 會重新啟動驅動程式。
  • 許可證/財產 來自 nvlddmkm.sys 驅動程式或損壞的遊戲檔案。
  • 疊加層和螢幕截圖 (Discord、GeForce Experience、Steam 等)幹擾。

對其他玩家有效的解決方案

我建議從已證明最佳成功時間比的方法開始,然後再轉向更具技術性的措施。 一次進行一項更改並測試幾款遊戲以確認。.

1)在 NVIDIA 上啟用調試模式

此模式強制 GPU 參考時脈並停用超頻,甚至是工廠 OC。 右鍵點選桌面 > NVIDIA 控制面板 > 說明選單 > 偵錯模式. 保持其處於活動狀態並測試遊戲。

2)停用實驗性功能:RTX Dynamic Vibrance

如果您使用的是 NVIDIA 測試版應用程式(在本例中為 v10.0.1.253)並啟用了 RTX Dynamic Vibrance,請取消選取它。 在 Microsoft Flight Simulator 中,它導致立即崩潰,錯誤代碼 0x887A0006;停用它可以避免崩潰。.

3)更換啟動器或從其他平台重新安裝

這看起來微不足道,但在 COD 中,有些人從 Battle.net 切換到 Steam 後就不再遇到錯誤。 啟動器之間的二進位檔案、反作弊、路徑和依賴關係並不總是相同的如果可以的話,請嘗試該替代方案。

  如何使用 CrystalDiskInfo 檢查硬碟或 SSD 的健康狀況

4)修復遊戲文件

損壞的文件 可能會導致對GPU的無效呼叫。 在 Steam 中:庫 > 右鍵單擊遊戲 > 屬性 > 本機檔案 > 驗證完整性。在 Epic 中:庫 > 遊戲選單(三個點)> 管理 > 驗證。

5)強制使用 DX11 並停用 DX12

在具有 DX12 的不穩定遊戲中,強制使用 D3D11 通常是天賜之物。 在 Epic 中,您可以在「設定」>「命令列參數」中新增 d3d11 參數. 在具有內部選擇器的標題中,取消選取 DX12。

6)選擇正確的GPU

在具有專用 iGPU + 的電腦上,請確保遊戲使用專用 iGPU +。 NVIDIA:控制台 > 管理 3D 設定 > 程式設定 > 高效能 NVIDIA 處理器. 在 AMD Radeon 上:系統 > 可切換顯示卡 > 高效能 GPU。

7)乾淨的驅動程式和穩定的版本

使用 DDU 安全模式 去除殘留物並嘗試您知道在遊戲中穩定的驅動程式(最新的並不總是最好的)。 在引用的案例中,最後 526 和 537 進行了測試;如果其中一個失敗,則替換. 從 NVIDIA/AMD 官方網站下載。

8) 超頻/欠壓:恢復出廠設置

即使您的顯示卡溫度不超過 75°C,輕微的調整也可能導致卡住。 恢復 MSI Afterburner/您的工具中的預設設定並暫時停用 CPU/XMP OC。該用戶嘗試了 50/100/150/200 MHz 的欠壓,但沒有成功;庫存 + 調試模式是關鍵。

9)禁用覆蓋和螢幕截圖

停用 GeForce Experience、Steam、Discord 的覆蓋, 的Xbox 遊戲欄、Rivatuner/RTSS 等。 遊戲層級越少,隊列幹擾的可能性就越小 命令 GPU.

10)以管理員身分執行遊戲

授予提升的權限以防止拒絕存取。 右鍵點選 EXE > 屬性 > 相容性 > 以管理員身分執行此程序. 在某些標題中,它會在寫入日誌或快取時刪除愚蠢的區塊。

11)編輯登錄:TdrLevel = 0(進階)

Windows 包含 TDR(逾時偵測和復原),如果驅動程式掛起幾秒鐘,它會重新啟動它。 禁用它可能會阻止 重置 因此遊戲結束了。步驟(仔細):

  1. 贏+ S,寫道 輸入regedit,右鍵單擊並以管理員身份運行。
  2. 導航 HKEY_LOCAL_MACHINE \系統\ CurrentControlSet \控制\ GraphicsDrivers.
  3. 右鍵點選右側區域 > 新建 > DWORD(32 位元)值並命名 TdrLevel.
  4. 打開它並放入 值 = 0. 接受並重新啟動電腦。

有些人嘗試過使用 TdrDelay(擴展 El Temppo 等待),但設定 TdrLevel=0 會停用偵測。 警告:如果發生實際的驅動程式崩潰,您可能會看到螢幕凍結而不是恢復。使用它進行診斷;如果有效,則透過返回預設值來確認穩定性。

12)調整nvlddmkm.sys驅動程式的權限

有一個案例透過授予 System32 DriverStore 路徑中的 NVIDIA 驅動程式檔案的完全權限來解決。 檢視 C:\Windows\System32\DriverStore\… > 屬性 > 安全性 > 編輯並授予系統使用者/玩家完全控制權. 應用、重新啟動並測試。

  Microsoft Edge 兒童模式使用完整指南:為小朋友提供安全與樂趣

13)硬體變更和穩定性測試

已經為其他人服務的有用測試:暫時切換到另一個 GPU,僅使用一個 RAM 模組啟動,運行 CHKDSK, 微測試 y SFC / scannow. 在一個案例中,SFC 修復了文件,但遊戲繼續崩潰,這表明圖形部分。不過,你還是擺脫了嫌疑犯。

每個遊戲/場景的具體說明

《決勝時刻:戰區》/《MW3》對輕微的 GPU 不穩定以及驅動程式 + 啟動器版本組合特別敏感。 如果這種情況只發生在 COD 中,請嘗試:從 Battle.net 切換到 Steam,將 GPU 保留在參考時鐘(調試模式)、DX11(如果遊戲允許)並禁用任何覆蓋. 每次更改後檢查文件。

在搭載 NVIDIA 測試版應用程式的 Microsoft Flight Simulator 中,已經看到了與 RTX Dynamic Vibrance 的直接關聯。 直接解決方案:在應用程式中停用該功能並確認錯誤 0x887A0006 消失如果問題仍然存在,請檢查驅動程式和 DX11 作為 B 計劃。

SLI 配置(例如 2x GTX 980)可能會間歇性地導致這些錯誤。 停用 SLI/第二適配器並嘗試使用單一 GPU;DX12 在舊一代多 GPU 上很少能很好地擴展。。這也降低了「DEVICE_REMOVED」的機率。

在顯示「致命 D3D 錯誤(24,DXGI_ERROR_DEVICE_REMOVED,0x887a0005)」等程式碼的引擎中,通常是驅動程式重設。 應用組合:庫存時鐘、穩定驅動程式、DX11、覆蓋,如果繼續,則 TdrLevel=0 來驗證看門狗是否是罪魁禍首.

發瘋前的快速檢查清單

對於那些喜歡在 10 分鐘內完成必需事項的人,這裡有一個建議的順序。 如果中途修復了,就不要繼續玩。:

  • NVIDIA 調試模式 和工廠時鐘(無 OC/UV)。
  • DX11 強迫和 RTX 動態振動 如果您正在使用 NVIDIA beta,請停用。
  • 覆蓋 輸出(GFE、Discord、Steam、Xbox Game Bar、RTSS)。
  • 修理/檢查 來自啟動器的檔案。
  • 使用 DDU 清理驅動程式 以及您遊戲的已知穩定版本。
  • 選擇專用 GPU 在 NVIDIA/AMD 面板上。
  • 作為一項高級測試, TdrLevel=0 然後重新啟動。

儘管這些錯誤令人沮喪,但累積的經驗表明,它們幾乎總是由三大支柱的組合導致: 參考時脈(無 OC)、適合您遊戲的「良好」驅動程式和乾擾消除(如果出現問題,則覆蓋/實驗功能/DX12)如果您需要一個可靠的起點,請從 NVIDIA 偵錯模式開始,強制使用 DX11,修復檔案並停用覆蓋。如果沒有崩潰,請新增 TdrLevel=0 作為測試,並檢查 nvlddmkm.sys 權限。耐心是有回報的:有些人連續三次遊戲後,遊戲崩潰次數從每次遊戲一次下降到零次,在某些情況下,切換啟動器是最後的解決方案。

msdt.exe -id設備診斷
相關文章:
msdt.exe -id DeviceDiagnostic:開啟、修復錯誤與安全性替代方案