System のイベントログに Microsoft-Windows-FilterManager:3 のエラーが記録される

適用対象: Windows 7 ProfessionalWindows 7 EnterpriseWindows Server 2008 R2 Standard

現象


Windows 7 や Windows Server 2008 R2 にて System のイベント ログに以下の
ようなイベント ログが記録されることがあります。

-------------------------------
ログの名前:         System
ソース:           Microsoft-Windows-FilterManager
日付:            2011/XX/XX X:XX:XX
イベント ID:       3
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:        
ユーザー:          SYSTEM
コンピューター:       XXXXXXX
説明:
フィルター マネージャーがボリューム '\Device\HarddiskVolumeXX' に接続できませんでした。
このボリュームは、再起動するまでフィルターリングできません。
最終状態は 0xc03a001c です。
------------------------------- 

原因


イベント ログに記録されている 0xc03a001c は STATUS_VHD_INVALID_STATE であり
VHD が無効な状態であることを意味しています。

このイベントは、VHD を取り外したものの、引き続き VHD にアクセスを試みた
プロセスがあり、そのアクセスが失敗 (すでに取り外し済みであるため失敗します) した
ことをフィルター マネージャーが検知していることを示しています。

このイベントが記録される状況として、以下のような状況が報告されています。
   - Windows Server バックアップを実行した場合
   - DetachVirtualDisk() 関数を利用して VHD を取り外した場合
   - 管理ツールや Diskpart.exe を利用して VHD を取り外した場合

Windows Server バックアップもデータのバックアップを実施する際に VHD を
内部で作成して処理を行うため、いずれの場合も VHD を取り外した際に
記録されます。

解決方法


取り外した VHD にアクセスするプロセスを停止します。
VHD にアクセスするプロセスは、以下の手順により PID を利用して特定します。

-- 該当プロセスの特定方法 --
1. 該当のイベントログを開き、[詳細] タブを選択します
2. "XML" で表示を選択します
3. "Execution ProcessID" に記録されている PID を記録します
4. コマンドプロンプトを起動して以下のコマンドを実行します
> tasklist /SVC
5. 手順 3 で確認した PID を保持するプロセスを特定します 

回避策


イベント自体を無視していただいても、システム自体に影響はありません。

状況


本件は現在のところ該当バージョンの OS で修正される予定はございません。