驱动程序验证程序命令语法
在命令提示符窗口中运行验证程序实用工具时使用以下语法。
可以在同一行上键入多个选项。 例如:
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 配合使用。 不能将 /volatile 与 /flags 选项一起使用 进行 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 配合使用。 不能将 /volatile 与 /flags 选项一起使用 进行 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 配合使用。 不能将 /volatile 与 /flags 选项一起使用,用于 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 /?
参数
验证程序Command-Line语法
/所有 指示驱动程序验证程序在下次启动后验证所有已安装的驱动程序。
/bc <number_of_reboots> 设置验证应处于活动状态的重新启动次数。
此选项自动设置 ResetOnUnusualShutdown 启动模式。
/bootmode模式 控制是否在重新启动后启用驱动程序验证程序的设置。 若要设置或更改此选项,必须重启计算机。
Bootmode | 说明 |
---|---|
持续 |
确保驱动程序验证程序设置保留, (多次重新启动后) 保持有效。 这是默认设置。 |
resetonbootfail |
如果系统无法启动,则禁用驱动程序验证程序以用于后续重新启动。 |
oneboot |
仅在计算机下次启动时启用驱动程序验证程序设置。 禁用驱动程序验证程序以用于后续重新启动。 |
resetonunusualshutdown |
(在 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。
/故障 在驱动程序验证程序中启用资源不足模拟功能。 可以使用 /faults 代替 /flags 0x4。 但是,不能将 /flags 0x4 与 /faults 子参数一起使用。
可以使用 /faults 参数的以下子参数来配置低资源模拟。
子参数 | 说明 |
---|---|
概率 |
指定驱动程序验证程序在给定分配中失败的概率。 在十进制或十六进制) 中键入一个数字 (,表示驱动程序验证程序在 10,000 次中未能通过分配的几率。 默认值 600 表示 600/10000,即 6%。 |
池标记 |
限制驱动程序验证程序可能无法使用指定池标记进行分配的分配。 可以使用通配符 (*) 来表示多个池标记。 若要列出多个池标记,请用空格分隔标记。 默认情况下,所有分配都可能失败。 |
应用程序 |
限制驱动程序验证程序无法为指定程序分配的分配。 键入可执行文件的名称。 若要列出程序,请用空格分隔程序名称。 默认情况下,所有分配都可能失败。 |
DelayMins |
指定启动后的分钟数,在此期间驱动程序验证程序不会有意使任何分配失败。 在测试开始之前,可以在这段此延迟时间内加载驱动程序并稳定系统。 输入一个数字(十进制或十六进制)。 默认值为 7(分钟)。 |
/faultssystematic 指定 系统资源不足模拟的选项。 使用 “0x40000 ”标志选择“系统资源不足模拟”选项。
OPTION | 说明 |
---|---|
enableboottime |
在计算机重启之间启用故障注入。 |
disableboottime |
禁用跨计算机重启的错误注入, (这是默认设置) 。 |
recordboottime |
如果跨计算机重启,则启用模式中的故障注入。 |
resetboottime |
在计算机重新启动时禁用错误注入,并清除堆栈排除列表。 |
enableruntime |
动态启用故障注入。 |
disableruntime |
动态禁用故障注入。 |
recordruntime |
在 what if 模式下动态启用故障注入。 |
resetruntime |
动态禁用故障注入并清除以前出错的堆栈列表。 |
querystatistics |
显示当前故障注入统计信息。 |
incrementcounter |
递增用于标识何时注入故障的测试通过计数器。 |
getstackid COUNTER |
检索指示的注入堆栈标识符。 |
excludestack STACKID |
从故障注入中排除堆栈。 |
/flags选项 在下一次重新启动后激活指定的选项。 此数字可以十进制或十六进制 (输入,前缀为 0x ,) 格式。 允许以下值的任意组合。
小数 | 十六进制 | 标准设置 | 选项 |
---|---|---|---|
1 |
0x1 (位 0) |
X |
|
2 |
0x2 (位 1) |
X |
|
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 |
|
256 |
0x100 (位 8) |
X |
|
512 |
0x200 (位 9) |
||
1024 |
0x400 (位 10) |
||
2048 |
0x800 (位 11) |
X |
|
8192 |
0x2000 (位 13) |
从 Windows 8) 开始,对堆栈 (进行固定 MDL 检查 |
|
16384 |
0x4000 (位 14) |
从 Windows 8) 开始的驱动程序 (固定 MDL 检查 |
|
32768 |
0x8000 (位 15) |
Power Framework 延迟模糊 (从 Windows 10 版本 19042 及更高版本中弃用的 Windows 8) (开始) |
|
65536 |
0x10000 (位 16) |
端口/微型端口接口检查 (从 Windows 10) 开始 |
|
131072 |
0x20000 (位 17) |
X |
DDI 符合性检查 (从Windows 8) 开始 |
262144 |
0x40000 (位 18) |
系统化低资源模拟 (从 Windows 10 版本 19042 及更高版本中弃用的 Windows 8.1) () |
|
524288 |
0x80000 (位 19) |
DDI 符合性检查 (其他) (从 Windows 10 版本 19042 及更高版本中弃用的 Windows 8.1) () |
|
2097152 |
0x200000 (位 21) |
从 Windows 8.1) 开始,NDIS/WIFI 验证 ( |
|
8388608 |
0x800000 (位 23) |
内核同步延迟模糊 (从 Windows 10 版本 19042 及更高版本中弃用的 Windows 8.1) () |
|
16777216 |
0x1000000 (位 24) |
VM 交换机验证 (从 Windows 8.1) 开始 |
|
33554432 |
0x2000000 (位 25) |
从 Windows 10) 开始 (代码完整性检查 |
不能使用此方法激活 Storport 验证选项。 有关信息,请参阅 Storport 验证。
/flagsVolatileOptions 指定在不重新启动的情况下立即更改的驱动程序验证程序选项。
可以将 /volatile 参数与所有 /flags 值一 起使用。)
以十进制或十六进制格式输入数字, () 前缀为 0x 。
允许以下值的任意组合。
十六进制 | 选项 |
---|---|
0x00000004 (位 2) |
随机资源不足模拟 |
0x00000020 (位 5) |
死锁检测 |
0x00000080 (位 7) |
DMA 检查 |
0x00000200 (位 9) |
强制挂起 I/O 请求 |
0x00000400 (位 10) |
IRP 日志记录 |
/ruleclasses 或 /rc<ruleclass_1><ruleclass_2> ... <ruleclass_k>
从 Windows 版本 1803 开始,可以使用 ruleclasses 参数。
ruleclasses 参数包含比上面的 /flags 参数更大的验证类集。 虽然 /flags 限制为 32 位位位图表达式,但此选项可以包含 32 个以上的验证类。 每个正十进制整数表示一个验证类。 可以通过用空格字符分隔每个类 ID 来表示多个类。 以下规则类 ID 可用。
标准规则类
值 | 规则 |
---|---|
1 | 特殊池 |
2 | 强制 IRQL 检查 |
4 | 池跟踪 |
5 | I/O 验证 |
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 列指示可以使用 /dif DifEnabledRule/now 选项在不重新启动的情况下启用哪些规则类。
标准规则类
值 | 规则 | /现在 |
---|---|---|
1 | 特殊池 | 是 |
2 | 强制 IRQL 检查 | 是 |
4 | 池跟踪 | 是 |
5 | I/O 验证 | 是 |
6 | 死锁检测 | 否 |
8 | DMA 检查 | 否 |
9 | 安全检查 | 是 |
12 | 其他检查 | 是 |
18 | DDI 合规性检查 | 是 |
34 | WDF 验证 | 否 |
37 | 文件系统筛选器验证 | 否 |
请注意,规则类 37 (文件系统筛选器验证) 要求还启用规则类 5 (I/O 验证) 。 有关此规则类的详细信息,请参阅 文件系统筛选器验证 。
其他规则类
以下附加规则类可用。
- /now 列指示可以使用 /dif DifEnabledRule/now 选项在不重新启动的情况下启用哪些规则类。
- “规则类必需”列指示还必须启用哪些规则类才能使用给定的规则类。 请注意, /dif 命令自动包含规则类 36 (DIF 模式) 但 /ruleclasses 和 /rc 不会。
- 标记为
(**)
支持禁用单个规则的规则类。 - 标有
(***)
的规则类默认处于日志记录模式,并且要求 /onecheck 选项在冲突时崩溃。
值 | 规则 | /现在 | 所需的规则类 |
---|---|---|---|
3 | 随机资源不足模拟 | 否 | 无 |
10 | 强制挂起 I/O 请求 | 否 | 5 |
11 | IRP 日志记录 | 否 | 5 |
14 | 堆栈的固定 MDL 检查 | 否 | 5 |
15 | 驱动程序的固定 MDL 检查 | 否 | 5 |
16 | Power Framework 延迟模糊 | 否 | 无 |
17 | 端口/微型端口接口检查 | 否 | 无 |
19 | 系统性资源不足模拟 | 是 | 36 |
20 | DDI 符合性检查 - 其他 | 是 | 无 |
22 | NDIS/WIFI 验证 (**) |
否 | 无 |
24 | 内核同步延迟模糊处理 | 否 | 无 |
25 | VM 交换机验证 | 否 | 无 |
26 | 代码完整性检查 | 否 | 无 |
33 | 驱动程序隔离检查 (***) |
否 | 36 |
36 | DIF 模式 | 是 | 无 |
/logLogFileName [/interval|Seconds] 创建名为 LogFileName 的日志文件。 驱动程序验证程序定期将统计信息写入此文件。 有关详细信息,请参阅 创建日志文件。
如果在命令行中键入 验证程序 /log 命令,则命令提示符不会返回。 若要关闭日志文件并返回提示,请使用 CTRL+C 键。 重新启动后,若要创建日志,必须再次提交 验证程序 /log 命令。
选项 | 说明 |
---|---|
/interval Seconds | 指定日志文件更新之间的间隔。 默认为 30 秒。 |
/rules ( 高级) 可以禁用的规则的选项。
选项 | 说明 |
---|---|
query |
显示可控制规则的当前状态。 |
reset |
将所有规则重置为其默认状态。 |
默认ID |
将规则 ID 设置为其默认状态。 对于支持的规则,规则 ID 是 bug 检查0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) 参数 1 值。 |
禁用ID |
禁用指定的规则 ID。 对于支持的规则,规则 ID 是 bug 检查0xC4 (DRIVER_VERIFIER_DETECTED_VIOLATION) 参数 1 值。 |
/标准 在下一次启动后激活“标准”或默认的驱动程序验证程序选项。 标准选项包括 特殊池、 强制 IRQL 检查、 池跟踪、 I/O 验证、 死锁检测、 DMA 验证。 和 WDF 验证 标准选项还包括 安全检查、 杂项检查 和 DDI 符合性检查。
注意
从 1803 之后Windows 10个版本开始,使用 /flags 0x209BB将不再自动启用 WDF 验证。 使用 /standard 语法启用标准选项,包括 WDF 验证。
/停止 禁用通过“/dif /now”启用的规则类来停止验证。
/volatile /flags 在不重启计算机的情况下更改设置。 易失性设置会立即生效。 可以将 /volatile 参数与 /flags 参数结合使用,这样,无需重启即可启用和禁用某些选项。 还可以将 /volatile 与 /adddriver 和 /removedriver 参数一起使用,以在不重新启动的情况下启动或停止驱动程序验证,即使驱动程序验证程序尚未运行也是如此。
指定在不重新启动的情况下立即更改的驱动程序验证程序选项。 只有以下标志可以与 volatile 一起使用:
0x00000004 (位 2) - 随机低资源模拟0x00000020 (位 5) - 死锁检测0x00000080 (位 7) - DMA 检查0x00000200 (位 9) - 强制挂起 I/O 请求0x00000400 (位 10) - IRP 日志记录
有关详细信息,请参阅 使用易失性设置。
选项 | 说明 |
---|---|
/adddriverVolatileDriverList |
将指定的驱动程序添加到可变设置。 若要指定多个驱动程序,请列出其名称并用空格分隔。 不支持通配符值,例如 n.sys。 有关详细信息 ,请参阅使用易失性设置 。 |
/removedriverVolatileDriverList |
从易失性设置中删除指定的驱动程序。 若要指定多个驱动程序,请列出其名称并用空格分隔。 不支持通配符值,例如 n.sys。 有关详细信息 ,请参阅使用易失性设置 。 |
/重 置 清除所有驱动程序验证程序设置。 下次启动后,不会验证任何驱动程序。
/querysettings 显示将激活的选项和将在下一次启动后验证的驱动程序的摘要。 显示不包括使用 /volatile 参数添加的驱动程序和选项。 有关查看这些设置的其他方法,请参阅查看驱动程序验证程序设置。
/查询 显示驱动程序验证程序的当前活动的摘要。 显示内容中的 Level 字段是使用 /volatile 参数设置的选项的十六进制值。 有关每个统计信息的说明,请参阅监视全局计数器和监视单个计数器。
/domainTypes **** 选项 控制验证程序扩展设置。 支持以下验证程序扩展类型。
类型 | 说明 |
---|---|
Wdm |
为 WDM 驱动程序启用验证程序扩展。 |
Ndis |
为网络驱动程序启用验证程序扩展。 |
Ks |
为内核模式流式处理驱动程序启用验证程序扩展。 |
音频 |
为音频驱动程序启用验证程序扩展。 |
支持以下扩展选项。
选项 | 说明 |
---|---|
rules.default |
为所选验证程序扩展启用默认验证规则。 |
rules.all |
为所选验证程序扩展启用所有验证规则。 |
/测 井 为所选验证程序扩展检测到的违反规则启用日志记录。
/livedump 为所选验证程序扩展检测到的违反规则启用实时内存转储收集。
/? 显示命令行帮助。
有关使用这些命令的详细信息,请参阅控制驱动程序验证器和监视驱动程序验证程序。
/帮助 显示命令行帮助。
有关使用这些命令的详细信息,请参阅控制驱动程序验证器和监视驱动程序验证程序。
返回代码
驱动程序验证程序运行后,将返回以下值。
0:EXIT_CODE_SUCCESS
1:EXIT_CODE_ERROR
2:EXIT_CODE_REBOOT_NEEDED
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈