Share via


KMDF および UMDF ドライバーのインストールのトラブルシューティング

フレームワークの共同インストーラーによって、デバッグ メッセージが作成されます。 これらのメッセージはデバッガーで確認できます。

さらに、共同インストーラーはデバッグ メッセージ をセットアップ アクション ログ (%windir%\setupact.log) ファイルに書き込みます。 セットアップ アクション ログには、共同インストーラーのバージョンと、ドライバーの INF ファイルで指定されたドライバーが含まれています。 これらが想定どおりであることを確認する必要があります。

KMDF のインストールの確認

セットアップ アクション ログの次の出力は、KMDF ドライバーの正常なインストールからの出力です。

WdfCoInstaller: DIF_INSTALLDEVICE: Pre-Processing
WdfCoInstaller: ReadComponents:  WdfSection for Driver Service ECHO using KMDF lib version Major 0x1, minor 0x9 
WdfCoInstaller: DIF_INSTALLDEVICE: Coinstaller version: 1.9.7100
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF in-memory version: 1.9.7100
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF on-disk version: 1.9.7100
WdfCoInstaller: Service Wdf01000 is running
WdfCoInstaller: DIF_INSTALLDEVICE: Update is not required. The on-disk KMDF version is newer than or same as the version of the coinstaller
WdfCoInstaller: DIF_INSTALLDEVICE: Post-Processing

上記のシナリオでは、ディスク上のバージョンとメモリ内フレームワークのバージョンが KMDF 1.9 であり、共同インストーラーと同じバージョンであるため、更新は必要ありませんでした。

次の出力を考えてみましょう。インストールが失敗した場合の詳細です。

WdfCoInstaller: ReadComponents:  WdfSection for Driver Service ECHO using KMDF lib version Major 0x1, minor 0x9  
WdfCoInstaller: DIF_INSTALLDEVICE: Coinstaller version: 1.9.7100
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF in-memory version: 1.7.6000
WdfCoInstaller: DIF_INSTALLDEVICE: KMDF on-disk version: 1.7.6000
WdfCoInstaller: Service Wdf01000 is running
WdfCoInstaller: DIF_INSTALLDEVICE: Reboot is required, because the in-memory KMDF version is older than the coinstaller's version.
WdfCoInstaller: DIF_INSTALLDEVICE: Update is required, because the on-disk KMDF version is older than the coinstaller
WdfCoInstaller: VerifyMSRoot: exit: error(0) The operation completed successfully.
WdfCoInstaller: Invoking "D:\Windows\system32\wusa.exe "D:\Windows\Temp\WdfTemp\Microsoft Kernel-Mode Driver Framework Install-v1.9-Vista.msu" /quiet /norestart".
WdfCoInstaller: The update process returned error code :error(265) <no error text>. 
WdfCoInstaller: For additional information please look at the log files %windir%\windowsupdate.log and %windir%\Logs\CBS\CBS.log

このシナリオでは、KMDF ランタイムのメモリ内のバージョンとディスク上のバージョンが共同インストーラーのバージョンより古いため、更新と再起動の両方が必要でした。 しかし、更新は失敗しました。 共同インストーラーは、エラーに関する詳細情報を確認できる追加のログ ファイルを指します。

KMDF ドライバーのランタイム ライブラリへの動的バインドに関連するエラーについては、システム イベント ログもチェックしてください。 このようなエラーにより、システム イベント ログに Wdf<MajorVersionNumber><MinorVersionNumber> エントリが生成される場合があります。 この場合は、コンピューターを再起動します。 また、%windir%\system32\drivers フォルダーから Wdf<MajorVersionNumber><MinorVersionNumber>.sys を削除して、KMDF ランタイムの再インストールを強制することもできます。

UMDF のインストールの確認

セットアップ アクション ログの次の出力は、UMDF ドライバーの正常なインストールについて説明しています。

WudfUpdate: installing version (1,9,0,7100).
WudfUpdate: Checking for presence of previous UMDF installation.
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfrd.sys version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfpf.sys version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfhost.exe version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfsvc.dll version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfx.dll version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfplatform.dll version (1.9.0.7100)
WudfUpdate: Found binary %WINDIR%\system32\wudfcoinstaller.dll version (1.9.0.7100)
WudfUpdate: UMDF installation is same as update. WudfUpdate: Loading configuration coinstaller from D:\Windows\system32\wudfcoinstaller.dll.
WudfCoInstaller: ReadWdfSection: Checking WdfSection [Echo_Install.NT.Wdf]
WudfCoInstaller: Configuring UMDF Service  WUDFEchoDriver.
WudfCoInstaller: Service WudfSvc is already running.
WudfCoInstaller: Final status: error(0) The operation completed successfully.

上記のシナリオでは、ランタイムのディスク上のバージョンは UMDF 1.9 であり、共同インストーラーのバージョンと同じであるため、更新は必要ありません。

次の出力を考えてみましょう。インストールが失敗した場合の詳細です。

WudfUpdate: installing version (1,9,0,7100).
WudfUpdate: Checking for presence of previous UMDF installation.
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfrd.sys version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\drivers\wudfpf.sys version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfhost.exe version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfsvc.dll version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfx.dll version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfplatform.dll version (1.5.0.6000)
WudfUpdate: Found binary %WINDIR%\system32\wudfcoinstaller.dll version (1.5.0.6000)
WudfUpdate: UMDF installation is older than current.
WudfUpdate: Locating resource stream WUDF_UPDATE_VISTA-RTM.
WudfUpdate: unpacking update from resource to Microsoft User-Mode Driver Framework Install-v1.9-Vista.msu.
WudfUpdate: Temporary path is D:\Windows\Temp\WDF7625.tmp.
WudfUpdate: Invoking update "%SYSTEMROOT%\system32\wusa.exe" with command line "D:\Windows\Temp\WDF7625.tmp\Microsoft User-Mode Driver Framework Install-v1.9-Vista.msu /quiet /norestart".
WudfUpdate: Waiting for update to terminate.
WudfUpdate: Update process returned 22.
WudfUpdate: update returned error 0x16 - error(22) The device does not recognize the command.
WudfUpdate: For additional information please look at the log files %windir%\windowsupdate.log and %windir%\Logs\CBS\CBS.log
WudfUpdate: Cleaning up update.
WudfUpdate: Error updating UMDF - error(22) The device does not recognize the command. Aborting installation.

このシナリオでは、UMDF ランタイムのディスク上のバージョンが共同インストーラーのバージョンよりも古かったです。 しかしこの場合、更新は失敗しました。 共同インストーラーは、エラーの理由に関する詳細情報を確認できる追加のログ ファイルを指定します。