Windows藍(lán)屏0x000000E6修復(fù)教程
藍(lán)屏代碼0x000000E6表示"DRIVER_VERIFIER_DMA_VIOLATION",這意味著在進(jìn)行驅(qū)動程序驗(yàn)證過程中發(fā)生了一次DMA(直接內(nèi)存訪問)違規(guī)。出現(xiàn)此錯誤可能是因?yàn)槟硞€設(shè)備驅(qū)動程序不正確地使用了DMA功能,導(dǎo)致系統(tǒng)崩潰并顯示藍(lán)屏錯誤。

快快藍(lán)屏修復(fù)助手可以幫你修復(fù)各類藍(lán)屏異常和錯誤問題,能快速檢測軟件、硬件和驅(qū)動故障。分析藍(lán)屏日志。
要解決這個問題,可以嘗試以下方法:
方法一:檢查硬件問題
這種錯誤也可能是由硬件故障引起的,嘗試重新連接或更換有問題的硬件設(shè)備,如內(nèi)存條、硬盤等,你還可以運(yùn)行Windows自帶的內(nèi)存診斷工具,以檢查內(nèi)存是否有問題。
方法二:掃描系統(tǒng)文件
運(yùn)行命令提示符并作為管理員運(yùn)行sfc /scannow命令,以檢查和修復(fù)本地文件系統(tǒng)中的任何損壞。
方法三:進(jìn)行病毒和惡意軟件掃描
某些病毒或惡意軟件可能會干擾驅(qū)動程序的正常運(yùn)行,從而導(dǎo)致該錯誤,運(yùn)行安全軟件并進(jìn)行全面的病毒掃描以確保您的系統(tǒng)沒有受到威脅。
方法四:使用一鍵修復(fù)工具助手(強(qiáng)烈推薦)
1、首先你的電腦必須下載與完成安裝完成快快藍(lán)屏修復(fù)助手。如果你還沒有安裝點(diǎn)擊下方鏈接下載。
下載地址:>>>快快藍(lán)屏修復(fù)助手<<<
提示:安裝路徑不要選擇C盤,避免產(chǎn)生問題造成損失。
2、找到你電腦中的快快藍(lán)屏修復(fù)助手,點(diǎn)擊進(jìn)入??吹绞醉摵?,點(diǎn)擊首頁一鍵掃描按鈕開始掃描。等待幾分鐘,就能獲取你急切想要的結(jié)果。
3、掃描完成后會顯示電腦的所有藍(lán)屏記錄以及藍(lán)屏的詳細(xì)信息。
4、解決方案頁面顯示了導(dǎo)致該次藍(lán)屏的具體原因和解決方案,點(diǎn)擊右上角的一鍵修復(fù)進(jìn)行修復(fù)。
5、切記,當(dāng)修復(fù)完成之后我們還是需要重新啟動計(jì)算機(jī)的。畢竟一切修復(fù)的結(jié)果,需要重新后,才能被系統(tǒng)認(rèn)可。
當(dāng)你完成重啟后,你電腦的藍(lán)屏問題已經(jīng)基本解決了。相信小編,不要急需卸載快快藍(lán)屏修復(fù)助手。畢竟它強(qiáng)大的功能是你未來的一個保障,可以隨時隨地為你服務(wù),讓你再次遇到藍(lán)屏問題不在抓狂。
其他相關(guān)信息:
DRIVER_VERIFIER_DMA_VIOLATION bug 檢查 的值為 0x000000E6。 這是所有驅(qū)動程序驗(yàn)證程序 DMA 驗(yàn)證沖突的 bug 檢查代碼。
注意
未啟用驅(qū)動程序驗(yàn)證程序時,可以觀察到 E6 主要 bug 檢查代碼。 如果在未啟用驅(qū)動程序驗(yàn)證程序的情況下遇到此代碼,請參閱 DMA 驗(yàn)證頁以獲取詳細(xì)信息。
DRIVER_VERIFIER_DMA_VIOLATION參數(shù)
參數(shù) 1 是唯一感興趣的參數(shù)。 此參數(shù)標(biāo)識確切的沖突。 如果附加了調(diào)試器,調(diào)試器中會顯示一條信息性消息。
參數(shù) 1 | 錯誤原因和調(diào)試器消息 |
---|---|
0x00 - 雜項(xiàng) DMA 錯誤。 |
此代碼可以表示參數(shù) 2 所指示的兩種錯誤: 0x1 - 驅(qū)動程序嘗試將過多字節(jié)刷新到映射寄存器文件的末尾。 參數(shù) 3 - MDL 中剩余的字節(jié)數(shù)。 參數(shù) 4 - 請求刷新的剩余字節(jié)數(shù)。 0x2 - Windows 已用完連續(xù)映射寄存器。 參數(shù) 3 - 需要映射寄存器。 參數(shù) 4 - 連續(xù)映射寄存器的數(shù)目。 |
0x01 |
性能計(jì)數(shù)器已減少。 將顯示計(jì)數(shù)器的舊值和新值。 |
0x02 |
性能計(jì)數(shù)器增長過快。 計(jì)數(shù)器值顯示在調(diào)試器中。 |
0x03 |
驅(qū)動程序釋放了過多的 DMA 通用緩沖區(qū)。 通常,這意味著它釋放了同一緩沖區(qū)兩次。 參數(shù) 2 - 釋放的額外通用緩沖區(qū)數(shù)。 |
0x04 |
驅(qū)動程序釋放了過多的 DMA 適配器通道。 通常這意味著它釋放了同一個適配器通道兩次。 參數(shù) 2 - 釋放的額外適配器通道數(shù)。 |
0x05 |
驅(qū)動程序釋放了過多的 DMA 地圖寄存器。 通常,這意味著它釋放了同一映射寄存器兩次。 參數(shù) 2 - 釋放的額外映射寄存器數(shù)。 |
0x06 |
驅(qū)動程序釋放了過多的 DMA 散點(diǎn)/收集列表。 通常,這意味著它釋放了兩次相同的散點(diǎn)/收集列表。 參數(shù) 2 - 分配的散點(diǎn)-收集列表。 參數(shù) 3 - 釋放的散點(diǎn)集合列表。 |
0x07 |
驅(qū)動程序嘗試釋放適配器,但未首先釋放其所有通用緩沖區(qū)。 參數(shù) 2 - 指向 DMA 適配器的指針。 參數(shù) 3 - 未完成的通用緩沖區(qū)數(shù)。 參數(shù) 4 - 指向相應(yīng)內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x08 |
驅(qū)動程序嘗試釋放適配器,但未首先釋放所有適配器通道、公共緩沖區(qū)或散點(diǎn)/收集列表。 參數(shù) 2 - 指向 DMA 適配器的指針。 參數(shù) 3 - 未完成的適配器通道數(shù)。 參數(shù) 4 - 指向相應(yīng)內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x09 |
驅(qū)動程序嘗試釋放適配器,但未首先釋放所有映射寄存器。 參數(shù) 2 - 指向 DMA 適配器的指針。 參數(shù) 3 - 未完成的映射寄存器數(shù)。 參數(shù) 4 - 指向相應(yīng)內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x0A |
驅(qū)動程序嘗試釋放適配器,但未首先釋放其所有散點(diǎn)/收集列表。 參數(shù) 2 - 指向 DMA 適配器的指針。 參數(shù) 3 - 未完成的散點(diǎn)集合列表的數(shù)目。 參數(shù) 4 - 指向相應(yīng)內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x0B |
驅(qū)動程序同時分配了過多的適配器通道 (每個適配器只允許一個適配器通道。) 參數(shù) 2 - 未完成的適配器通道。 |
0x0C |
驅(qū)動程序嘗試同時分配過多的映射寄存器。 參數(shù) 2 - 所需的映射寄存器。 參數(shù) 3 - 最大映射寄存器數(shù)。 |
0x0D |
驅(qū)動程序未刷新其適配器緩沖區(qū)。 參數(shù) 2 - 映射的字節(jié)數(shù)。 參數(shù) 3 - 一次可以映射的最大字節(jié)數(shù)。 |
0x0E |
驅(qū)動程序在沒有鎖定緩沖區(qū)的情況下嘗試了 DMA 傳輸。 有問題的緩沖區(qū)位于分頁內(nèi)存中。 參數(shù) 2 - DMA 緩沖區(qū) MDL 的地址。 |
0x0F |
驅(qū)動程序或硬件在其分配的 DMA 緩沖區(qū)之外寫入。 參數(shù) 2 是沖突代碼。 0x01 :修改 DMA 緩沖區(qū)之前的標(biāo)記。預(yù)期的標(biāo)記為 DmaVrfy0。 參數(shù) 3 - 緩沖區(qū)長度。 參數(shù) 4 - 緩沖區(qū)啟動。 0x02 :修改 DMA 緩沖區(qū)后的標(biāo)記。 預(yù)期的標(biāo)記為 DmaVrfy0。參數(shù) 3 - 緩沖區(qū)長度。 參數(shù) 4 - 緩沖區(qū)啟動。 0x03:覆蓋了免費(fèi)地圖寄存器。參數(shù) 3 - 損壞地址。 預(yù)期填充模式0x0F。 0x04:在緩沖區(qū)被錯誤修改之前進(jìn)行填充。參數(shù) 3 - 緩沖區(qū)啟動。 預(yù)期填充0x0F。 參數(shù) 4 - 損壞地址。 0x05:緩沖區(qū)被錯誤修改后的填充。參數(shù) 3 - 緩沖區(qū)啟動。 參數(shù) 4 - 損壞地址。 預(yù)期填充模式0x0F。 |
0x10 |
司機(jī)試圖釋放其地圖寄存器,而有些寄存器仍然被映射。 參數(shù) 2 - 仍映射的寄存器數(shù)。 |
0x11 |
驅(qū)動程序具有太多未完成的適配器引用計(jì)數(shù)。 參數(shù) 2 - 引用計(jì)數(shù)。 參數(shù) 3 - 指向 DMA 適配器的指針。 參數(shù) 4 - 指向相應(yīng)內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x13 |
驅(qū)動程序在不正確的 IRQL 中調(diào)用 DMA 例程。 參數(shù) 2 是沖突代碼。 0x01:當(dāng)前 IRQL 與預(yù)期不同。參數(shù) 3 - 預(yù)期的 IRQL。 參數(shù) 4 - 當(dāng)前 IRQL。 0x02:當(dāng)前 IRQL 高于預(yù)期。參數(shù) 3 - 預(yù)期的最大 IRQL。 參數(shù) 4 - 當(dāng)前 IRQL。 |
0x14 |
驅(qū)動程序在不正確的 IRQL 中調(diào)用 DMA 例程。 |
0x15 |
驅(qū)動程序嘗試分配過多的映射寄存器。 參數(shù) 2 - 分配的映射寄存器。 參數(shù) 3 - 最大映射寄存器數(shù)。 |
0x16 |
驅(qū)動程序嘗試刷新未映射的緩沖區(qū)。 參數(shù) 2 - 映射寄存器的系統(tǒng)虛擬空間中的地址。 參數(shù) 3 - 指向相應(yīng)的內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x18 |
驅(qū)動程序嘗試使用已釋放且不再存在的適配器執(zhí)行 DMA 操作。 參數(shù) 2 - 指向 DMA 適配器的指針。 參數(shù) 3 - 指向相應(yīng)的內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x19 |
驅(qū)動程序?qū)?null DMA_ADAPTER 值傳遞給 HAL 例程。 |
0x1B |
驅(qū)動程序?qū)⒌刂泛?MDL 傳遞給 HAL 例程。 但是,此地址不在此 MDL 的邊界內(nèi)。 參數(shù) 2 - 超出 MDL 邊界的虛擬地址。 參數(shù) 3 - MDL。 |
0x1D |
驅(qū)動程序嘗試映射已映射的地址范圍。 參數(shù) 2 - 映射開始的緩沖區(qū)。 參數(shù) 3 - 映射末尾的緩沖區(qū)。 參數(shù) 4 - 已映射的緩沖區(qū)中的系統(tǒng)地址。 |
0x1E |
名為 HalGetAdapter 的驅(qū)動程序。 此函數(shù)已過時 -- 必須改用 IoGetDmaAdapter 。 |
0x1F |
無效的 DMA 緩沖區(qū)。 驅(qū)動程序引用了無效的系統(tǒng)地址 -- 在第一個 MDL 之前或第一個 MDL 的末尾之后,或者通過使用比 MDL 緩沖區(qū)長且跨越 MDL 中的頁邊界的傳輸長度。Parameter 2 是沖突代碼。 0x01 :虛擬緩沖區(qū)地址位于第一個 MDL 之前。 參數(shù) 3 - DMA 緩沖區(qū)開始的虛擬地址。 參數(shù) 4 - 指向描述 DMA 緩沖區(qū)的第一個 MDL 的指針。 0x02:虛擬地址位于第一個 MDL 之后。 參數(shù) 3 - DMA 緩沖區(qū)開始的虛擬地址。 參數(shù) 4 - 指向描述 DMA 緩沖區(qū)的第一個 MDL 的指針。 0x03:額外的傳輸長度將跨越頁面邊界。 參數(shù) 3 - 指向描述 DMA 緩沖區(qū)的 MDL 的指針。 參數(shù) 4 - DMA 傳輸?shù)拈L度。 0x04:DMA 緩沖區(qū)的虛擬地址未對齊緩存。 參數(shù) 3 - DMA 緩沖區(qū)開始的虛擬地址。 參數(shù) 4 - 指向描述 DMA 緩沖區(qū)的 MDL 的指針。 0x05:DMA 緩沖區(qū)長度未對齊緩存。 參數(shù) 3 - DMA 緩沖區(qū)的長度。 參數(shù) 4 - 指向描述 DMA 緩沖區(qū)的 MDL 的指針。 |
0x20 |
驅(qū)動程序嘗試刷新尚未映射的映射寄存器。 參數(shù) 2 - 映射寄存器基。 參數(shù) 3 - DMA 緩沖區(qū)開頭的 VA。 參數(shù) 4 - 指向用于描述 DMA 緩沖區(qū)的 MDL 的指針。 |
0x21 |
驅(qū)動程序嘗試映射零長度緩沖區(qū)以用于傳輸。 參數(shù) 2 - 指向相應(yīng)的內(nèi)部驗(yàn)證程序數(shù)據(jù)的指針。 |
0x22 |
DMA 緩沖區(qū)未在系統(tǒng) VA 中映射。 參數(shù) 2 - MDL |
0x23 |
無法刷新尚未完成或取消的通道。 參數(shù) 2 - 沖突代碼。 值:0x00:非法通道刷新 參數(shù) 3 - 控制器 ID。 參數(shù) 4 - 通道編號。 |
0x24 |
請求的長度緩沖區(qū)不足。 參數(shù) 2 - 未記入的長度。 |
0x25 |
未知的設(shè)備說明版本。 |
0x26 |
IOMMU 檢測到 DMA 沖突。 參數(shù) 2 - 故障設(shè)備的 Device 對象。 參數(shù) 3 - 故障信息 (通常會) 物理地址出錯。 參數(shù) 4 - 故障類型 (特定于硬件的) 。 |
原因
有關(guān)原因的說明,請參閱參數(shù)部分中每個代碼的說明。
解決方法
僅當(dāng)驅(qū)動程序驗(yàn)證程序已指示監(jiān)視一個或多個驅(qū)動程序時,才會發(fā)生此 bug 檢查。 如果不打算使用驅(qū)動程序驗(yàn)證程序,則應(yīng)停用它。 還可以考慮刪除導(dǎo)致此問題的驅(qū)動程序。
如果你是驅(qū)動程序編寫者,請使用通過此 bug 檢查獲取的信息來修復(fù)代碼中的 bug。
有關(guān)驅(qū)動程序驗(yàn)證程序的詳細(xì)信息,請參閱 驅(qū)動程序驗(yàn)證程序。