共用方式為


驅動程式驗證器命令語法

以下語法用於在命令提示字元視窗中執行驗證器工具。

你可以在同一行輸入多個選項。 例如:

verifier /flags 7 /driver beep.sys disksdd.sys

Windows 11 語法

你可以用 /volatile 參數搭配一些驅動程式驗證 器 /flags 選項。 詳情請參見 使用揮發性設定

備註

/volatile 參數將在未來的 Windows 版本中被棄用。 在 Windows 11 中,替換選項是 /difDifEnabledRule/now 選項。 請參閱下方 Windows 11 規則類別 章節,了解使用此選項可啟用的規則類別。

  verifier /standard /all
  verifier /standard /driver NAME [NAME ...]
  verifier {/ruleclasses | /rc | dif} <options> [<ruleclass_1> <ruleclass_2> ...] /all
  verifier {/ruleclasses | /rc | dif} <options> [<ruleclass_1> <ruleclass_2> ...] /driver NAME [NAME ...]
  verifier /flags <options> /all
  verifier /flags <options> /driver NAME [NAME ...]
  verifier /rules [OPTION ...]
  verifier /dif [<ruleclass_1> <ruleclass_2> ...] /now /driver NAME [NAME ...]
  verifier /query
  verifier /querysettings
  verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot]
  verifier /bc <number_of_reboots>
  verifier /reset
  verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /faultssystematic [OPTION ...]
  verifier /log LOG_FILE_NAME [/interval SECONDS]
  verifier /volatile /flags <options>
  verifier /volatile /adddriver NAME [NAME ...]
  verifier /volatile /removedriver NAME [NAME ...]
  verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /domain <types> <options> /driver ... [/logging | /livedump]
  verifier /logging
  verifier /livedump
  verifier /?
  verifier /help

Windows 10 語法

你可以用 /volatile 參數搭配一些驅動程式驗證器的 /flags 選項,以及 /standard。 你不能在 /flags 選項中使用 /volatile進行 DDI 合規檢查Power Framework 延遲模糊Storport 驗證。 詳情請參見 使用揮發性設定

  verifier /standard /all
  verifier /standard /driver NAME [NAME ...]
  verifier {/ruleclasses | /rc} <options> [<ruleclass_1> <ruleclass_2> ...] /all
  verifier /flags <options> /all
  verifier /flags <options> /driver NAME [NAME ...]
  verifier /rules [OPTION ...]
  verifier /query
  verifier /querysettings
  verifier /bootmode [persistent | resetonbootfail | resetonunusualshutdown | oneboot]
  verifier /reset
  verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /faultssystematic [OPTION ...]
  verifier /log LOG_FILE_NAME [/interval SECONDS]
  verifier /volatile /flags <options>
  verifier /volatile /adddriver NAME [NAME ...]
  verifier /volatile /removedriver NAME [NAME ...]
  verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /domain <types> <options> /driver ... [/logging | /livedump]
  verifier /logging
  verifier /livedump
  verifier /?
  verifier /help

Windows 8.1 語法

你可以用 /volatile 參數搭配一些驅動程式驗證器的 /flags 選項,以及 /standard。 你不能在 /flags 選項中使用 /volatile進行 DDI 合規檢查Power Framework 延遲模糊Storport 驗證。 詳情請參見 使用揮發性設定

  verifier /standard /all
  verifier /standard /driver NAME [NAME ...]
  verifier /flags <options> /all
  verifier /flags <options> /driver NAME [NAME ...]
  verifier /rules [OPTION ...]
  verifier /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /faultssystematic [OPTION ...]
  verifier /log LOG_FILE_NAME [/interval SECONDS]
  verifier /query
  verifier /querysettings
  verifier /bootmode [persistent | disableafterfail | oneboot]
  verifier /reset
  verifier /volatile /flags <options>
  verifier /volatile /adddriver NAME [NAME ...]
  verifier /volatile /removedriver NAME [NAME ...]
  verifier /volatile /faults [Probability] [PoolTags] [Applications] [DelayMins]
  verifier /?

Windows 8、Windows 7 語法

你可以用 /volatile 參數搭配一些驅動程式驗證器的 /flags 選項,以及 /standard。 你不能在 /flags 選項中使用 /volatile進行 DDI 合規檢查Power Framework 延遲模糊Storport 驗證、SCSI 驗證,或搭配 /disk 使用。 詳情請參見 使用揮發性設定

verifier [/volatile] [/standard | /flags Options ] [ /all | /driver DriverList ]
verifier /volatile /faults [Probability PoolTags Applications DelayMins] /driver DriverList
verifier /volatile {/adddriver | /removedriver} DriverList
verifier /reset
verifier /querysettings
verifier /query
verifier /log LogFileName [/interval Seconds]
verifier /?

參數

Verifier Command-Line Syntax

/全部 指示驅動驗證器在下一次開機後驗證所有已安裝的驅動程式。

/bc <number_of_reboots> 設定驗證應啟用的重啟次數。

這個選項會自動設定 ResetOnUnusualShutdown 的開機模式。

/bootmode模式 控制重啟後驅動程式驗證器的設定是否啟用。 若要設定或變更此選項,您必須重新啟動電腦。

開機模式 Description

持續性

確保驅動程式驗證器的設定在多次重啟後仍能持續生效。 這是預設設定。

resetonbootfail

若系統無法啟動,則在後續重啟時停用驅動驗證器。

一擊

只啟用驅動程式驗證器的設定,供電腦下一次啟動時使用。 驅動程式驗證器在後續重啟時會被停用。

重設異常關機

(於 Windows 10,版本 1709 中引入)驅動程式驗證器會持續運作,直到發生異常關機為止。 其縮寫 「rous」也可以使用。

/difDifEnabledRule 啟用 使用 DIF 啟用規則進行檢查。 檢查會在系統下次重啟時生效。 是在 Windows 11 中新增的。

/difDifEnabledRule/now 立即啟用使用 DIF 啟用的規則進行檢查。 立即啟用規則類別,無需重啟。 此選項僅在沒有規則類別執行時有效。 請參閱 Windows 11 的規則類別描述,了解可立即啟用的規則類別。

/driverDriverList 指定一個或多個將被驗證的驅動程式。 DriverList 是依二進位名稱列出的驅動程式清單,例如 Driver.sys。 使用空格來分隔每個驅動程序名稱。 不支援萬用字元值,例如 n*.sys。

/driver.excludeDriverList 指定一個或多個將被排除在驗證之外的驅動程式。 只有在選取所有驅動程序進行驗證時,才適用此參數。 DriverList 是依二進位名稱列出的驅動程式清單,例如 Driver.sys。 使用空格來分隔每個驅動程序名稱。 不支援萬用字元值,例如 n*.sys。

/錯誤 啟用 Driver Verifier 中的低資源模擬功能。 你可以用 /faults 代替 /flags 0x4。 不過,你不能用 /flags 0x4 / faults 子參數。

您可以使用 /faults 參數的以下子參數來設定低資源模擬。

子參數 Description

概率

指定驅動驗證器在特定配置中失敗的機率。 輸入一個數字(以十進位或十六進位表示,駕駛驗證者失敗的機率為10,000分之一)。 預設值 600 表示 600/10000 或 6%。

泳池標籤

限制驅動驗證器可失敗的配置,僅能使用指定的池標籤進行分配。 你可以用萬用字元(*)來代表多個池標籤。 若要列出多個集區標籤,請以空格分隔標籤。 依預設,所有配置都可能會失敗。

應用程式

限制驅動驗證器可失敗的配置,僅限於指定程式的配置。 輸入可執行檔的名稱。 若要列出程式,請以空格分隔程式名稱。 依預設,所有配置都可能會失敗。

延遲分鐘

指定開機後的分鐘數,驅動驗證器不會故意失敗任何分配。 此延遲可讓驅動程式載入,並在測試開始之前穩定系統。 輸入數字 (以十進位或十六進位為單位)。 預設值為 7 (分鐘)。

/斷層系統 規定 系統性低資源模擬的選項。 使用 0x40000 標記選擇系統性低資源模擬選項。

選項 Description

啟用啟動時間

啟用電腦重啟期間的錯誤注入。

disableboottime

在電腦重啟時關閉錯誤注入(這是預設設定)。

紀錄啟動時間

在電腦重啟時啟用「 假設模式 」的錯誤注入。

resetboottime

在電腦重啟時停用錯誤注入,並清除堆疊排除清單。

Enableruntime

動態啟用故障注入。

disableruntime

動態關閉故障注入。

Recordruntime

動態啟用「 假設模式 」的故障注入。

resetruntime

動態停用故障注入並清除先前錯誤的堆疊清單。

查詢統計

顯示目前的故障注入統計數據。

增量計數器

遞增用於識別故障注入時的測試通過計數器。

getstackid 計數器

取得指示的注入堆疊識別碼。

exclusionstack STACKID

排除堆疊的錯誤注入。

/flags選項 在下一次重啟後啟用指定的選項。 此數字可以十進位或十六進位(前綴為 0x )格式輸入。 以下數值的任意組合皆可進行。

Decimal 十六進位 標準設定 Option

1

0x1(第0位元)

X

特別泳池

2

0x2(第一位元)

X

強制 IRQL 檢查

4

0x4(第2位元)

低資源模擬

8

0x8(第3段)

X

池追蹤

16

0x10(第4位)

X

輸入輸出驗證

32

0x20(第5段)

X

死結偵測

64

0x40(第6位)

強化的 I/O 驗證 當你選擇 I/O 驗證時,這個選項會自動啟用

128

0x80(第7位)

X

DMA 驗證

256

0x100(第8位)

X

安全檢查

512

0x200(第9位元)

強制執行待處理的輸入輸出請求

1024

0x400(第10位元)

IRP 日誌

2048

0x800(第11位)

X

雜項檢查

8192

0x2000(第13位)

不變的 MDL 堆疊檢查(從 Windows 8 開始)

16384

0x4000(第14位)

不變的 MDL 驅動程式檢查 (從 Windows 8 開始)

32768

0x8000(第15位)

Power Framework 延遲模糊 (從 Windows 8 開始 )(於 Windows 10 版本 19042 及以上版本中被棄用)

65536

0x10000(第16位)

埠口/迷你埠介面檢查(Windows 10 起)

131072

0x20000(第17位元)

X

DDI 合規檢查 (從 Windows 8 開始)

262144

0x40000(第18位元)

系統性低資源模擬 (自 Windows 8.1 起)

524288

0x80000(第19位)

DDI 合規檢查(額外)( 從 Windows 8.1 開始)( Windows 10 版本 19042 及以上版本已棄用)

2097152

0x200000(第21位)

NDIS/WIFI 驗證 (從 Windows 8.1 開始)

8388608

0x800000(第23位)

核心同步延遲失真 (Windows 8.1 起)( Windows 10 版本 19042 及以上版本已棄用)

16777216

0x1000000(第24位元)

VM 交換器驗證 (從 Windows 8.1 開始)

33554432

0x2000000(第25位)

程式碼完整性檢查(從 Windows 10 開始)

你無法使用此方法來啟用 Storport 驗證選項。 詳情請參閱 Storport 驗證

/flagsVolatileOptions 指定驅動程式驗證器的選項,這些選項可立即更改且不需重啟。

你可以用 /volatile 參數搭配所有 /flags 值。)

輸入一個十進位或十六進位格式(前綴為 0x )的數字。

以下任意組合皆可選擇。

十六進位 Option

0x00000004(第2位元)

隨機低資源模擬

0x00000020(第5段)

死鎖偵測

0x00000080(第 7 位元)

DMA 檢查

0x00000200(第9位)

強制執行待處理的輸入輸出請求

0x00000400(第10位)

IRP 記錄

/ruleclasses/rc<ruleclass_1><ruleclass_2 ... <>ruleclass_k>

規則類別參數自 Windows 1803 版本起可用。

規則類別參數涵蓋的驗證類別比上述 /flags 參數更多。 雖然 /flags 限制於 32 位元點陣表達式,但此選項可包含超過 32 個驗證類別。 每個正小數代表一個驗證類別。 多個類別可以透過用空格字元分隔每個類別 ID 來表示。 可用的規則類別識別碼如下。

標準規則類別

價值觀 規則
1 特別泳池
2 強制 IRQL 檢查
4 池追蹤
5 輸入輸出驗證
6 死鎖偵測
8 DMA 檢查
9 安全性檢查
12 雜項檢查
18 DDI 合規性檢查
34 WDF 驗證
37 檔案系統過濾器驗證(5)

額外規則類別

這些規則類別是為了特定情境測試而設計的。 標記為 的 (*) 規則類別要求 I/O 驗證(5)並自動啟用。 標記為 (**) 支援停用個別規則的規則類別。 標記為 的 (***) 規則類別預設處於日誌模式,違規時需 /onecheck 才能當機。

標記為 的 (!) 旗標需要啟用 DIF 模式(規則類別 36)。

價值觀 規則
3 隨機化低資源模擬
10 強制執行待處理的 I/O 請求 (*)
11 IRP 記錄(*)
14 不變的 MDL 對堆疊(*)的檢查
15 不變的 MDL 驅動程式檢查(*)
16 Power framework 延遲模糊
17 埠/迷你埠介面檢查
19 系統低資源模擬
20 DDI 合規檢查(額外)
22 NDIS/WIFI 驗證(**)
24 核心同步處理延遲模糊
25 VM 交換器驗證
26 程式碼完整性檢查
33 駕駛隔離檢查(***,!)
36 DIF 模式

Windows 11 規則類別

從 Windows 11 開始,提供以下標準規則類別。 這些規則類別在使用 /standard 選項時都會啟用。

/now 欄位會顯示哪些規則類別可以在不重啟的情況下啟用,使用 /difDifEnabledRule/now 選項。

標準規則類別

價值觀 規則 /現在
1 特別泳池 yes
2 強制 IRQL 檢查 yes
4 池追蹤 yes
5 輸入輸出驗證 yes
6 死鎖偵測 no
8 DMA 檢查 no
9 安全性檢查 yes
12 雜項檢查 yes
18 DDI 合規性檢查 yes
34 WDF 驗證 no
37 檔系統篩選驗證 no

請注意,規則類別 37(檔案系統過濾驗證)要求同時啟用規則類別 5(I/O 驗證)。 請參閱 檔案系統過濾器驗證 以了解此規則類別的更多資訊。

額外規則類別

以下還有其他規則類別可供選擇。

  • /now 欄位會顯示哪些規則類別可以在不重啟的情況下啟用,使用 /difDifEnabledRule/now 選項。
  • 「必要規則類別」欄位指示哪些規則類別必須同時啟用才能使用該規則類別。 請注意, /dif 指令自動包含規則類別 36(DIF 模式),但 /ruleclasses/rc 則不會。
  • 標記為 (**) 支援停用個別規則的規則類別。
  • 標記為 的 (***) 規則類別預設處於日誌模式,違規時需要 /onecheck 選項當機。
價值觀 規則 /現在 所需的規則類別
3 隨機化低資源模擬 no none
10 強制執行待處理的輸入輸出請求 no 5
11 IRP 記錄 no 5
14 不變 MDL 堆疊檢查 no 5
15 驅動程式的不變 MDL 檢查 no 5
16 Power framework 延遲模糊 no none
17 埠/迷你埠介面檢查 no none
19 系統低資源模擬 yes 36
20 DDI 合規檢查 - 額外內容 yes none
22 NDIS/WIFI 驗證 (**) no none
24 核心同步處理延遲模糊 no none
25 VM 交換器驗證 no none
26 程式碼完整性檢查 no none
33 駕駛隔離檢查 (***) no 36
36 DIF 模式 yes none

/logLogFileName [/interval|Seconds] 建立一個名為 LogFileName 的日誌檔案。 驅動驗證器會定期將統計資料寫入此檔案。 詳情請參見 建立日誌檔案

若在命令列輸入 驗證器 /log 指令,命令提示字元不會回傳。 要關閉日誌檔並返回提示,請使用 CTRL+C 鍵。 重啟後,若要建立日誌,您必須再次提交 驗證者 /log 指令。

Option Description
/interval 秒 指定日誌檔案更新間隔。 預設值為 30 秒。

/rules 可停用規則的選項(進階)。

Option Description

查詢

顯示可控規則的當前狀態。

重設

將所有規則重置為預設狀態。

預設識別碼

將規則 ID 設為預設狀態。 對於支援的規則,規則 IDBug Check 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) 參數 1 的值。

停用識別碼

停用指定的規則 ID。 對於支援的規則,規則 IDBug Check 0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) 參數 1 的值。

/標準 下一次開機後啟動「標準」或預設的驅動驗證選項。 標準選項包括 特殊池強制 IRQL 檢查池追蹤I/O 驗證死鎖偵測DMA 驗證。 以及 WDF 驗證 標準選項還包括 安全檢查雜項檢查DDI 合規檢查

備註

從 Windows 10 版本 1803 以後,使用 /flags 0x209BB 將不再自動啟用 WDF 驗證。 使用 /standard 語法來啟用標準選項,並包含 WDF 驗證。

/停 停用透過「/dif /now」啟用的規則類別以停止驗證。

/易變的/旗幟 在不重開機的情況下更改設定。 動態設定會立即生效。 您可以將 /volatile 參數與 /flags 參數搭配使用,以啟用和停用某些選項,而不需要重新啟動。 你也可以用 /volatile 搭配 /adddriver/removedriver 參數,在不重開機的情況下啟動或停止驅動程式驗證,即使驅動程式驗證器還沒執行。

指定驅動程式驗證器的選項,且可立即更改而無需重啟。 僅以下旗幟可用於揮發性:

0x00000004(位元 2)- 隨機化低資源模擬 0x00000020(位元 5)- 死鎖偵測 0x00000080(位元 7)- DMA 檢查0x00000200(位元 9)- 強制待處理的 I/O 請求 0x00000400(位元 10)- IRP 記錄

詳情請參見 使用揮發性設定

Option Description

/adddriverVolatileDriverList

將指定的驅動程式加入揮發性設定。 若要指定多個驅動程式,請列出其名稱,並以空格分隔。 不支援萬用字元值,例如 n.sys。 詳情請參見 使用揮發性設定

/移除riverVolatileDriverList

從動態設定移除指定的驅動程式。 若要指定多個驅動程式,請列出其名稱,並以空格分隔。 不支援萬用字元值,例如 n.sys。 詳情請參見 使用揮發性設定

/重置 清除所有驅動驗證器的設定。 下一次開機後,將不再驗證驅動程式。

/querysettings 顯示將啟用的選項摘要,以及下一次開機後將驗證的驅動程式。 顯示器不包含使用 /volatile 參數所新增的驅動程式與選項。 如需檢視這些設定的其他方式,請參閱檢視驅動程序驗證器設定

/查詢 顯示 Driver Verifier 目前活動的摘要。 顯示中的 Level 欄位是使用 /volatile 參數設定的選項的十六進位值。 請參閱 「監控全球計數 器」及 「監控個別計數器 」以了解各統計數據的說明。

/domain類型 **** 選項 控制驗證器擴充功能設定。 支援以下驗證器擴充功能類型。

類型 Description

WMM

啟用 WDM 驅動程式的驗證器擴充功能。

NDIS(國家獨立性婚姻)

啟用網路驅動程式的驗證器擴充功能。

KS

啟用核心模式串流驅動程式的驗證器擴充功能。

音效

啟用音訊驅動程式的驗證器擴充功能。

以下擴充選項皆支援。

選項 Description

rules.default

啟用所選驗證器擴充的預設驗證規則。

規則。全部

啟用所選驗證者擴充功能的所有驗證規則。

/記錄 啟用被選定驗證者擴充功能偵測到違規規則的日誌記錄。

/livedump 啟用對所選驗證者擴充套件偵測到違規規則的即時記憶體傾印收集。

/? 顯示命令列說明。

欲了解更多這些指令的使用資訊,請參閱 控制驅動驗證器監控驅動驗證器

/救命 顯示命令列說明。

欲了解更多這些指令的使用資訊,請參閱 控制驅動驗證器監控驅動驗證器

傳回碼

驅動驗證器執行後,會回傳以下數值。

0:EXIT_CODE_SUCCESS

1:EXIT_CODE_ERROR

2:EXIT_CODE_REBOOT_NEEDED