Internet ExplorerやWindows OSのサービスパックのインストールなどに失敗すると、システム・ファイルの不整合が起きることがある。アプリケーションのエラーやウイルスの感染などによって、システム・ファイルが壊れることがある。システム・ファイルの不整合や破損などが起きると、システムが不安定になる。SFC.EXEを実行することで、システム・ファイルのバージョン・チェックが行われ、不整合や破損が解消する。
対象OS:Windows XP/Windows Server 2003
セキュリティ修正プログラムの適用失敗やディスク・エラーなどにより、システム・ファイルの不整合や損傷が起きることがある。また誤ってシステム・ファイルを移動してしまったり、削除してしまったりすることもある。システム・ファイルが損傷すると、システムが不安定になり、ブルースクリーンが発生するなどの深刻な事態に陥ることもある。
Windows 2000以降のWindows OSには、Windowsファイル保護(WFP:Windows File Protection)」と呼ばれる、保護対象のシステム・ファイルに不整合や破損が起きた場合、自動的に修復する機能が実装されている。この機能により、一般のアプリケーションがシステム・ファイルの変更を行えないようにもなっている。これは、一般のアプリケーションが、システム・ファイルを上書きして、システムやほかのアプリケーションに影響を与えるのを防止するためだ。
WFPでは、2種類のメカニズムによって、システム・ファイルの保護が実現されている。
1つ目は、バックグランドで動作しているもので、保護されたディレクトリ内のファイルに対して、ファイルの変更が通知されると実行される。保護されたディレクトリ(WINDOWSフォルダ:%systemroot%やsystem32フォルダ:%systemroot%\system32)内のファイルに対して、カタログ・ファイルのファイル署名を検索、変更されたファイルが正しいバージョンかどうかを判別する。またファイルが削除されたような場合にも、同様にチェック機能が実行される。この際、ファイル・バージョンが正しくなかったり、システム・ファイルが削除されてしまったりすることが検知されると、自動的に以下の優先順位でキャッシュ・フォルダ(デフォルトでは%systemroot%\system32\dllcache)やWindows OSのインストールCDなどから、ファイルがコピーされる。
WFPがキャッシュ・フォルダで正しいファイルを見つけた場合や、インストール元(ネットワーク・インストール元やCD-ROM)が自動的に見つかった場合は、メッセージを表示せずにファイルの置き換えを実行する。
[A]
2つ目のメカニズムは、Windows OS(Windows 2000以降)の標準コマンドであるシステム・ファイル・チェッカー・ツール(SFC.EXE)だ。SFC.EXEを実行することで、システム・ファイルのバージョンやカタログ・ファイルとキャッシュ・フォルダの整合性などがチェックされる。システム・ファイルのバージョンが正しくない(存在しない)場合は、自動的にキャッシュ・フォルダから正しいバージョンのファイルがコピーされる。またカタログ・ファイルとキャッシュ・フォルダに不整合があった場合は、Windows OSのインストールCDからカタログ・ファイルに該当するファイルを取得するように、CD-ROMを要求する。
SFC.EXEを利用することで、システム・ファイルのスキャンやキャッシュ・フォルダのチェックと再作成が行える。キャッシュ・フォルダが破損したり、使用できなくなったりした場合、フォルダの内容を修復することが可能だ。
通常の利用においては、WPFはバックグランドで働いているため、ユーザーや管理者がSFC.EXEを実行する必要はない。しかし、キャッシュ・フォルダが何らかの理由により破損しているような場合は、正しいファイルに戻らずシステムが不安定になったり、WFPにより常にインストールCDが要求されたりすることになる。このような場合は、SFC.EXEを手動で実行し、システム・ファイルとキャッシュ・フォルダの中身を正常にしておくとよい。
SFC.EXEを実行することで、保護されているシステム・ファイルのバージョン・チェックが実行され、正しいバージョンへの置き換えが行われる。また同時に、キャッシュ・フォルダのチェックと再作成も実行される。
SFC.EXEは、コマンド・プロンプトまたは[スタート]−[ファイル名を指定して実行]で以下のオプションを付けて実行する。
SFC.EXE [/SCANNOW][/SCANONCE][/SCANBOOT][/REVERT][/PURGECACHE][/CACHESIZE=<キャッシュ・サイズ>]
オプション名 | 機能 |
---|---|
/SCANNOW | 保護されているすべてのシステム・ファイルを直ちにスキャンし、不整合などがあった場合は正しいファイルに置き換える |
/SCANONCE | 保護されているすべてのシステム・ファイルを次回の起動時に1回スキャンするように設定する |
/SCANBOOT | 保護されているすべてのシステム・ファイルを、コンピュータが起動するたびにスキャンする |
/REVERT | スキャンをデフォルトの設定に戻す |
/PURGECACHE | ファイル・キャッシュを削除して、保護されているすべてのシステム・ファイルを直ちにスキャンする |
/CACHESIZE=<キャッシュ・サイズ> | ファイル・キャッシュのサイズを指定した容量(単位:Mbytes)に設定する(デフォルトは50Mbytes) |
SFC.EXEのオプション一覧 |
通常は、「SFC.EXE /SCANNOW」または「SFC.EXE /SCANONCE」を実行すればよい。ただしSFC.EXEを実行すると、システム・ファイルをスキャンするため、システムが非常に重くなるので、業務時間中に実行するのは避けた方がよいだろう。
■この記事と関連性の高い別の記事
Copyright© Digital Advantage Corp. All Rights Reserved.