共用方式為


使用變動性設定

驅動程式驗證程式的狀態大部分變更 (啟用、停用、變更選項,或變更要驗證的驅動程式清單,) 只有在重新開機電腦 (「重新開機」) 時才會生效。

不過,您可以在不重新開機的情況下啟用和停用某些選項。 這些稱為 變動性設定。 這些設定的變更會立即生效,直到下一次開機或再次變更為止。

本節說明變動性設定,以及如何在不同的 Windows 版本中包含的驅動程式驗證程式版本上使用它們。

注意

此選項將在未來的 Windows 版本中淘汰。 /dif [ < ruleclass_1 ruleclass_2 ><> ...] /now選項會提供Windows 11取代專案。 請參閱 驗證器命令列

在不重新開機的情況下變更選項

從Windows 11開始,只有下列旗標可以搭配 volatile 使用:

0x00000004 (bit  2) - Randomized low resources simulation
0x00000020 (bit  5) - Deadlock detection
0x00000080 (bit  7) - DMA checking
0x00000200 (bit  9) - Force pending I/O requests
0x00000400 (bit 10) - IRP logging

注意

使用/dif [ < ruleclass_1 ruleclass_2 ><> ...] /now命令,即可啟用Windows 11中的其他旗標。 支援的旗標會在 驗證器命令列中說明。

從Windows 10開始,只有下列旗標可以搭配 volatile 使用:

標準旗標

0x00000001 (bit  0) - Special pool
0x00000002 (bit  1) - Force IRQL checking
0x00000008 (bit  3) - Pool tracking
0x00000010 (bit  4) - I/O verification
0x00000020 (bit  5) - Deadlock detection
0x00000080 (bit  7) - DMA checking
0x00000100 (bit  8) - Security checks
0x00000800 (bit 11) - Miscellaneous checks

其他旗標

0x00000004 (bit  2) - Randomized low resources simulation
0x00000200 (bit  9) - Force pending I/O requests (*)
0x00000400 (bit 10) - IRP logging (*)
0x00002000 (bit 13) - Invariant MDL checking for stack (*)
0x00004000 (bit 14) - Invariant MDL checking for driver (*)

變更驅動程式而不重新開機

您可以新增和移除驅動程式 (,也就是啟動和停止驅動程式的驗證) ,而不需要重新開機電腦,即使驅動程式驗證器尚未執行。

您也可以啟動已載入且未重新開機的驅動程式驗證,但您無法在未重新開機的情況下停止驗證已載入的驅動程式。 載入並驗證驅動程式之後,驅動程式驗證程式會監視它,直到下一次重新開機為止,但您可以關閉驅動程式的驅動程式驗證器選擇性檢查,而不需重新開機,藉此將驅動程式驗證器額外負荷降至最低。

您可以使用 驗證程式命令列驅動程式驗證器管理員來變更變動性設定。

Volatile 和 Registry 設定

能夠在不重新開機的情況下新增和變更驅動程式和設定選項是相當方便的,它可讓您在某些無法執行測試案例中的驅動程式驗證程式。

不過,由於將驅動程式驗證器設定新增至登錄的傳統模型有一些優點,因此您必須決定每個設定是否要使用 volatile 方法,或在登錄中設定它,或兩者。

  • 動態或「執行時間」設定會立即生效,但這些設定會在您關閉或重新開機 Windows 時遺失。

  • 登錄設定需要重新開機,但它們會保留在登錄中,直到您變更這些設定後再重新開機為止。

當您在驅動程式載入時使用一致或需要測量的設定應該新增至登錄。 當您需要其他設定時,可以啟用這些設定。

同時使用登錄設定和變動性設定時,請記住會使用動態設定,而不是登錄設定;它們不是新增專案。

使用驗證器命令列設定 Volatile Settings

若要新增或刪除 volatile 選項,請使用 /volatile /flags 參數。

若要從 volatile 清單中新增或移除驅動程式,請使用 /volatile /adddriver/volatile /removedriver 參數。 如需詳細資訊,請參閱 驅動程式驗證器命令語法

  • 若要啟動或停止驅動程式的驗證,而不需重新開機:

    verifier /volatile /adddriver DriverName.sys
    verifier /volatile /removedriver DriverName.sys
    

    您可以使用此命令語法來新增 (啟動任何驅動程式的驗證) ,甚至是目前載入的驅動程式。 移除 (停止目前載入之驅動程式的驗證) 的命令將會失敗。 一如往常,未載入的驅動程式驗證會在載入驅動程式時立即開始。

  • 若要在不重新開機的情況下啟用或停用選項:

    verifier /volatile /flags <flags>
    

    例如,此命令會在不重新開機的情況下啟動 死結偵測 選項。

    verifier /volatile /flags 0x20
    
  • 若要關閉所有驅動程式驗證器選項:

    您無法停止目前載入的驅動程式驗證,而不需要重新開機。 不過,您可以使用下列命令語法來停用所有驅動程式驗證器選項而不重新開機,藉此將額外負荷降到下一次重新開機為止。

    verifier /volatile /flags 0
    

    驅動程式驗證程式會使用無法關閉的 自動檢查 功能中的選項來繼續監視驅動程式,但額外負荷會降低為一般驗證的額外負荷約 10%。

使用驅動程式驗證器管理員設定變動性設定

若要檢視目前作用中的驅動程式驗證器功能,或變更變動性設定

  1. 啟動驅動程式驗證器管理員,然後選取 顯示目前已驗證驅動程式工作的相關資訊

  2. 按一下 [下一步] 。

    此畫面顯示目前作用中的驅動程式驗證器選項,包括變動性設定,但不包括排定在下一次重新開機後生效的永久設定變更。 每個驅動程式都會列出其狀態。

  3. 若要變更使用中的選項,請按一下 [變更]。 選取或清除所需的選項,然後按一下 [ 確定]。

  4. 若要驗證新的驅動程式,請按一下 [ 新增]。 這會開啟對話方塊,您可以在其中流覽要驗證之驅動程式檔案的電腦。 找到正確的驅動程式之後,按一下 [ 開啟 ] 將它新增至已驗證的驅動程式清單。

  5. 若要從清單中移除驅動程式,請選取該驅動程式的名稱,然後按一下 [ 移除]。

  6. 當您完成檢視 [驅動程式驗證器] 選項生效或完成變更時,請按 [下一步 ] 兩次,然後按一下 [ 完成]。

驅動程式狀態值

驅動程式驗證器管理員會顯示目前設定和已驗證驅動程式的三個可能狀態值 , (執行時間資訊) 畫面。 可能的狀態值如下所示:

載入 驅動程式目前已載入並正在驗證。

卸載 自上次開機後至少已載入並驗證驅動程式一次,但目前未載入。

永不載入 驅動程式驗證器已指示驗證此驅動程式,但自此要求之後尚未載入驅動程式。 這表示驅動程式會視需要載入,而且此會話尚未必要。 它也可能表示要求不存在的驅動程式進行驗證,或驅動程式映射檔已損毀。

驅動程式驗證器命令語法

控制驅動程式驗證器