Cドライブのエラーチェックができなくなった件(解決)

結構前からの話だが、ノートPCのCドライブのエラーチェックができなくなっていた。
ハングアップやブルースクリーン(最近はあまり発生しないが)が起こった際は、ディスクの整合性チェック&修復をするべきだ。
Cドライブの場合はWindows動作中はエラーを修正できないので、再起動時にチェックするようにスケジュールするのだが、再起動すると何もチェックされずに普通にWindows7が立ち上がってしまう。
原因がずっと分からなかったのだが、以下を見て調べてみたら、どうやらコマンド(autochk.exe)そのものが壊れているらしいことが分かった。
chkdsk doesn’t run after reboot – Microsoft Community
管理者権限のコマンドプロンプトを立ち上げて、

sfc /scannow
findstr /c:"[SR]" %windir%LogsCBSCBS.log >C:sfcdetails.txt

を実行し、作成されたsfcdetails.txtを見てみると、

Cannot repair member file [l:22{11}]"autochk.exe"
"??C:WindowsSystem32"[l:22{11}]"autochk.exe"; source file in store is also corrupted

というメッセージが出ている。
sfcはWindowsのファイルの不整合をある程度修復してくれるのだが、今回は修復に使うほうのコマンドも壊れてしまっているということらしい。
そこで、別のWindowsマシンからWindows/System32/autochk.exeをコピーしてくることにしたのだが、壊れたファイルの権限設定の問題で簡単には置き換えられなかった。
WindowsのコマンドはTrustedInstallerという特別なユーザが所有者となっており、それ以外のユーザは実行と読み出しのみできるような権限設定で保護されているので、所有者を変更し、さらに権限設定を変更して、ようやく置き換えることができた。
これについては以下のページを参考にした。
Windows、所有者が「TrustedInstaller」のファイルを変更する|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
また、変更した所有者を元のTrustedInstallerに直すには、ユーザ名を「NT SERVICETrustedInstaller 」にする。
Windows、ファイルの所有者を「TrustedInstaller」に戻す|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
これでようやくディスクチェックが実行できた。幸い、大きく壊れたファイルは無かったようだ。

コメント

タイトルとURLをコピーしました