壊れたHDDが原因でSearchIndexerが暴走し、BSoDにつながった話
⚙️ 本記事の文章構成・整形には ChatGPT を活用しています(構成整理・文体調整・技術表記の統一を目的とした支援)。
概要
物理的に故障したHDD(今回は Seagate ST1000DM003)が接続されたままの状態で長期間運用されていたが、ある日突然 SearchIndexer.exe
(Windows Searchサービス)が暴走 → UI操作不能 → BSoD という最悪の連鎖に発展。
その原因と対処をまとめる。
発端:War Thunder実行中に突如BSoDが連発
- BSoDコードは
0x3B
0x50
0xD1
0xBE
など、メモリアクセス違反系が多発 - Ansel使用時に高頻度でUIフリーズ → BSoD(これは別件)
- イベントビューアには
disk
,UASPStor
,SearchIndexer.exe
関連の警告とエラーが大量に記録されていた
原因特定までの流れ
-
disk 153
イベントログが頻発(I/O再試行) -
Device\Harddisk2\DR2
にエラー →wmic diskdrive
で ST1000DM003 と判明 - SearchIndexerのインデックス対象に、既に存在しない謎のパス(例:
D:\{GUID}
)が含まれていた - インデックス設定から削除しても
csc://{SID}
が自動復活 - SearchIndexer がクラッシュ →
RPCRT4.dll
,SearchIndexer.exe
アクセス違反
実際に起きていたこと
階層 | 状況 |
---|---|
HDD | 完全に死亡。接続はされていたが、I/Oは失敗状態 |
Windows Search | インデックス対象に壊れたパスが残存(仮想リンクやオフラインファイル) |
SearchIndexer.exe | 存在しないパスを巡回しようとしてクラッシュ |
RPC / カーネル | Searchサービス巻き添えでDLL破損 → BSoD発生 |
🛠 解決手順(実施内容)
1. Searchサービスの停止 + DB削除
sc stop "WSearch"
del /f /s /q "%ProgramData%\Microsoft\Search\Data\Applications\Windows\*" `
del /f /s /q "%ProgramData%\Microsoft\Search\Data\Temp\*"
※消せない場合はAdvancedRunを使用して以下の設定で削除する
1.実行ファイル(cmd.exe)を以下の設定で起動
・[Run As] TrustedInstaller
・[Start Directory] C:\Windows\System32
2.起動されたコマンドプロンプトで以下を入力
reg add "HKLM\SOFTWARE\Microsoft\Windows Search\Gather\Windows\SystemIndex\Sites\LocalHost" /v "DisableCsc" /t REG_DWORD /d 1 /f
2. csc:// (オフラインファイル)の無効化
reg add "HKLM\SOFTWARE\Microsoft\Windows Search\Gather\Windows\SystemIndex\Sites\LocalHost" /v "DisableCsc" /t REG_DWORD /d 1 /f
必要なら CscServiceも止める:
sc config CscService start=disabled
sc stop CscService
3. 壊れたHDDの切断と解除
・該当HDDを物理的に切断
・デバイスマネージャのリストから削除
・コマンドプロンプトやエクスプローラー、デバイスマネージャーで実際に切り離したことを確認
4. インデックス内容の再確認
設定 → 検索 → 詳細設定 → 余計なパスを削除
必要に応じて「再構築」を実行
結果と考察
・SearchIndexer.exeの暴走は 存在しないパスをインデックスしていたせい
・csc:// や GUID型のゴミリンクは、清掃しない限り復活する
・Windowsはこの所に関して 警告しないため発見が難しい
教訓
Windows Searchのインデックス内容は、使っていなくても確認すべき。
特に要注意な状況:
・物理HDDの挙動がおかしい
・SearchIndexer系のエラーログが多発する
・また、csc:// や Volume{GUID} のような謎パスがある
環境情報
OS:Windows 11 Pro 23H2 (Build 26100.3624)
CPU:Intel Core i9-14900KF
GPU:NVIDIA RTX 2080 Super
RAM:DDR5-128GB
問題ドライブ:ST1000DM003 (Seagate)
ドライバー:NVIDIA Game Ready Driver (複数バージョンで発生)
何かの参考になれば幸いです。
そもそも壊れたデバイスを使い続けることが問題な気もするけどね。