0x000000D1藍屏如何修復
藍屏代碼0x000000D1代表"DRIVER_IRQL_NOT_LESS_OR_EQUAL",該錯誤通常是由于驅(qū)動程序在訪問無效的內(nèi)存地址時引發(fā)的。它表示驅(qū)動程序與操作系統(tǒng)的IRQL(Interrupt Request Level,中斷請求級別)不匹配,即驅(qū)動程序試圖在不允許的IRQL級別執(zhí)行操作。這可能是由于已損壞、過時或不正確的驅(qū)動程序引起的。
要解決這個問題,可以嘗試以下方法:
方法一:檢查硬件沖突
有時候驅(qū)動程序與其他硬件設(shè)備產(chǎn)生沖突,嘗試禁用或卸載最近安裝的硬件設(shè)備,然后重新啟動計算機,查看是否仍然出現(xiàn)藍屏錯誤。
方法二:執(zhí)行系統(tǒng)還原
如果你最近進行了一些更改,例如安裝新軟件或更新驅(qū)動程序,并且問題發(fā)生在這些更改之后,那么嘗試使用系統(tǒng)還原將計算機恢復到較早的狀態(tài)。
方法三:更新或重新安裝驅(qū)動程序
這個錯誤通常是由于驅(qū)動程序與操作系統(tǒng)不兼容導致的,嘗試更新相關(guān)的驅(qū)動程序,或者將其卸載并重新安裝。
方法四:使用一鍵修復工具助手(強烈推薦)
1、首先你的電腦必須下載與完成安裝完成快快藍屏修復助手。如果你還沒有安裝點擊下方鏈接下載。
下載地址:>>>快快藍屏修復助手<<<
提示:安裝路徑不要選擇C盤,避免產(chǎn)生問題造成損失。
2、找到你電腦中的快快藍屏修復助手,點擊進入。看到首頁后,點擊首頁一鍵掃描按鈕開始掃描。等待幾分鐘,就能獲取你急切想要的結(jié)果。
3、掃描完成后會顯示電腦的所有藍屏記錄以及藍屏的詳細信息。
4、解決方案頁面顯示了導致該次藍屏的具體原因和解決方案,點擊右上角的一鍵修復進行修復。
5、切記,當修復完成之后我們還是需要重新啟動計算機的。畢竟一切修復的結(jié)果,需要重新后,才能被系統(tǒng)認可。
當你完成重啟后,你電腦的藍屏問題已經(jīng)基本解決了。相信小編,不要急需卸載快快藍屏修復助手。畢竟它強大的功能是你未來的一個保障,可以隨時隨地為你服務,讓你再次遇到藍屏問題不在抓狂。
其他相關(guān)信息:
DRIVER_IRQL_NOT_LESS_OR_EQUAL bug 檢查 的值為 0x000000D1。 這表示內(nèi)核模式驅(qū)動程序在進程 IRQL 過高時嘗試訪問可分頁內(nèi)存。
DRIVER_IRQL_NOT_LESS_OR_EQUAL參數(shù)
參數(shù) | 描述 |
---|---|
1 |
引用的內(nèi)存。 |
2 |
引用時 IRQL。 |
3 |
0 - 讀取 1 - 寫入 2 - 執(zhí)行 8 - 執(zhí)行 |
4 |
引用內(nèi)存的地址。 使用 ln (列出此地址上) 最近的符號 以查看函數(shù)的名稱。 |
原因
若要確定原因,需要 Windows 調(diào)試器、編程經(jīng)驗和對故障模塊源代碼的訪問權(quán)限。
通常,發(fā)生此錯誤時,驅(qū)動程序嘗試訪問可分頁 (地址或) 完全無效的地址,而中斷請求級別 (IRQL) 過高。 這可能是由于:
在 DISPATCH_LEVEL 或更高級別執(zhí)行時,取消引用錯誤指針(例如 NULL 或釋放的指針)。
在 DISPATCH_LEVEL 或更高級別訪問可分頁數(shù)據(jù)。
在 DISPATCH_LEVEL 或更高級別執(zhí)行可分頁代碼。
如果可以識別出導致錯誤的驅(qū)動程序,則其名稱將打印在藍屏上,并存儲在 內(nèi)存中 KiBugCheckDriver (PUNICODE_STRING) 位置。 可以使用 dx (顯示調(diào)試器對象模型表達式) (調(diào)試器命令)來顯示此對象: dx KiBugCheckDriver。
此 bug 檢查通常是由使用不正確的內(nèi)存地址的驅(qū)動程序引起的。
頁面錯誤的可能原因包括以下事件:
函數(shù)標記為可分頁,并在提升的 IRQL (運行,其中包括獲取鎖) 。
函數(shù)調(diào)用是向另一個驅(qū)動程序中的函數(shù)進行的,并且該驅(qū)動程序已卸載。
該函數(shù)是使用作為無效指針的函數(shù)指針調(diào)用的。
有關(guān) Windows IRQL 的詳細信息,請參閱由 Pavel Yosifovich、Mark E. Russinovich、David A. Solomon 和 Alex Ionescu 撰寫的 Windows Internals 第 7 版第 1 部分 。
解決方法
如果問題是由你正在開發(fā)的驅(qū)動程序引起的,請確保在出現(xiàn) bug 時執(zhí)行的函數(shù)檢查為:未標記為可分頁不調(diào)用任何其他可以分頁的內(nèi)聯(lián)函數(shù)。
!analyze 調(diào)試程序擴展顯示有關(guān) bug 檢查的信息,有助于確定根本原因。 下面的示例是 !analyze 的輸出。
DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1) An attempt was made to access a pageable (or completely invalid) address at an interrupt request level (IRQL) that is too high. This is usually caused by drivers using improper addresses. If kernel debugger is available get stack backtrace. Arguments: Arg1: fffff808add27150, memory referenced Arg2: 0000000000000002, IRQL Arg3: 0000000000000000, value 0 = read operation, 1 = write operation Arg4: fffff808adc386a6, address which referenced memory
如果可以識別出導致錯誤的驅(qū)動程序,則其名稱將打印在藍屏上,并存儲在內(nèi)存中 KiBugCheckDriver (PUNICODE_STRING) 位置。 可以使用一個調(diào)試器命令 dx(顯示調(diào)試器對象模型表達式)來顯示此內(nèi)容:dx KiBugCheckDriver。
0: kd> dx KiBugCheckDriver KiBugCheckDriver : 0xffffc6092de892c8 : "Wdf01000.sys" [Type: _UNICODE_STRING *]
如果轉(zhuǎn)儲文件中提供了陷阱幀,請使用 .trap 命令將上下文設(shè)置為提供的地址。
若要開始調(diào)試此類 bug 檢查,請使用 k、kb、kc、kd、kp、kP、kv (顯示堆?;厮? 命令來檢查堆棧跟蹤。
在調(diào)試器中,運行!irql 命令,在調(diào)試器中斷之前顯示有關(guān)目標計算機上處理器 IRQL 的信息。 例如:
0: kd> !irql Debugger saved IRQL for processor 0x0 -- 2 (DISPATCH_LEVEL)
在大多數(shù)此類 bug 檢查的情況下,問題不在于 IRQL 級別,而在于正在訪問的內(nèi)存。
由于此 bug 檢查通常是由使用不正確內(nèi)存地址的驅(qū)動程序引起的,因此請使用參數(shù) 1、3 和 4 進一步調(diào)查。
使用 ln (列出參數(shù) 4) 最近的符號 以查看調(diào)用的函數(shù)的名稱。檢查 !analyze 輸出以查看是否已識別出錯誤代碼。
使用參數(shù) 1 地址上的!pool 查看它是否為分頁池。 使用 !address 和高級 !pte 命令了解有關(guān)此內(nèi)存區(qū)域的詳細信息。
使用 顯示內(nèi)存 命令檢查參數(shù) 1 中的命令中引用的內(nèi)存。
使用u、 ub、 uu (unassemble) 命令查看引用參數(shù) 4 中內(nèi)存的地址中的代碼。
使用 命令lm t n列出內(nèi)存中加載的模塊。 使用 !memusage 和 檢查系統(tǒng)內(nèi)存的一般狀態(tài)。
驅(qū)動程序驗證程序
驅(qū)動程序驗證程序是一個實時運行的工具,用于檢查驅(qū)動程序的行為。 例如,驅(qū)動程序驗證程序檢查內(nèi)存資源(如內(nèi)存池)的使用。 如果在執(zhí)行驅(qū)動程序代碼時標識錯誤,它會主動創(chuàng)建一個異常,以允許進一步檢查該部分驅(qū)動程序代碼。 驅(qū)動程序驗證程序管理器內(nèi)置于 Windows 中,可在所有 Windows 電腦上使用。
若要啟動驅(qū)動程序驗證程序管理器,請在命令提示符下鍵入驗證程序 。 你可以配置要驗證的驅(qū)動程序。 驗證驅(qū)動程序的代碼在運行時會增加開銷,因此請嘗試驗證盡可能少的驅(qū)動程序。 有關(guān)詳細信息,請參閱驅(qū)動程序驗證程序。
備注
如果你沒有能力使用 Windows 調(diào)試器來解決此問題,則可以使用一些基本的故障排除技術(shù)。
在系統(tǒng)登錄事件查看器中查看其他錯誤消息,這些錯誤消息可能有助于識別導致此 bug 的設(shè)備或驅(qū)動程序檢查。
如果驅(qū)動程序標識在錯誤檢查消息中,禁用該驅(qū)動程序或咨詢驅(qū)動程序更新的制造商。
確認安裝的任何新硬件都與已安裝的 Windows 版本兼容。 例如,可以在Windows 10規(guī)范中獲取有關(guān)所需硬件的信息。
有關(guān)其他常規(guī)疑難解答信息,請參閱藍屏數(shù)據(jù)。