MS-Windows 上で HDD や SSD のエラーをいちはやく検出するには、SMART モニターを見るやり方もあるが、それだけでは不十分。
イベントビューアーで Disk エラーや Atapi エラーを確認して実際のエラーを把握しよう。
想定
一般ユーザが日常的にチェックできるように、呼び出しを簡単に & 表示を GUI で。
↓
希望のデータをイベントビューアで表示する方法を考える。
環境
- MS-Windows 10 Pro 20H2
イベントビューアはアレ
イベントビューアの 「Windows ログ」-「システム」で、 disk を探す。
disk エラーを遡りたいのだけれど、イベントビューアーのソートやフィルター、検索の使い心地はサイテーだ。
「カスタムビュー」-「管理イベント」で「情報」などを除外した情報は出てくるが、ディスク関連エラーを抽出してどうにかするにはどうしたらいいかな?
ワンライナーでさくっと
最初の1回目
「Windows キー」+ 「R」 でファイル名を指定して実行
eventvwr.exe /f:"<QueryList><Query Id='0' Path='System'><Select Path='System'>*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk']]]</Select></Query></QueryList>\"
上記ワンライナーを張り付けて「OK」
「コマンドラインからのビュー」はイベントビューアに保存されるので、名前を「ディスクエラービュー」などと変更しておくと今後の利用に便利です。
2回目以降
「Windows キー」+ 「R」 でファイル名を指定して実行
「eventvwr.exe」と入力して「OK」で確認できます。
以下はおまけです
上記を設定するための調査などの説明。
disk エラーイベントを調べる
ひとつのイベントの内容を見てみると・・・
ということで、ソースが disk となっている。
このようなイベントを抽出して表示するために・・・
カスタムビューをつくる
「カスタムビューの作成」で「ソースごと」を選び、「disk」にチェックをつける。
同様に、関連しそうな「Disk」「atapi」「ATAPort」もチェックをつける
フィルタ設定は以下の通り。これをインポートしても良い。
<QueryList>
<Query Id="0" Path="Microsoft-Windows-ATAPort/General">
<Select Path="Microsoft-Windows-ATAPort/General">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-ATAPort/SATA-LPM">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Disk/Operational">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-ATAPort/Admin">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-ATAPort/Analytic">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-ATAPort/Debug">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-ATAPort/Diagnose">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-ATAPort/Operational">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-Disk/Admin">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-Disk/Analytic">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-Disk/Debug">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-Disk/Diagnose">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
<Select Path="Microsoft-Windows-Storage-Disk/Operational">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk'] and (Level=1 or Level=2 or Level=3)]]</Select>
</Query>
</QueryList>
このビューを設定すると、今後もこのビューを使用することができる。しかしながらこの設定を行うのは一般ユーザには敷居が高いかな。
イベントの xml データ
さきほどのイベントの詳細を見てみると・・・
xml 形式で見てみると・・・
ということで、さきほどのクエリをもうちょっと整理して
<QueryList>
<Query Id="0" Path="System">
<Select Path="System">*[System[Provider[@Name='atapi' or @Name='Microsoft-Windows-ATAPort' or @Name='disk' or @Name='Microsoft-Windows-Disk']]]</Select>
</Query>
</QueryList>
これをワンライナーにした。