Windows ファイル保護機能について

文書翻訳 文書翻訳
文書番号: 222193 - 対象製品
この記事は、以前は次の ID で公開されていました: JP222193
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Windows ファイル保護 (WFP) 機能について説明します。

詳細

Windows ファイル保護 (WFP) は、プログラムによって重要な Windows システム ファイルが置き換えられないように保護します。これらのファイルはオペレーティング システムや他のプログラムによって使用されるため、プログラムで上書きされないようにする必要があります。これらのファイルを保護することによって、プログラムとオペレーティング システムの問題を防ぎます。

WFP は Windows の一部としてインストールされる重要なシステム ファイル (.dll、.exe、.ocx、.sys 拡張子の付いたファイルや特定の True Type フォントなど) を保護します。WFP では、コード署名により生成されるファイル署名およびカタログ ファイルを使用して、保護されたシステム ファイルが正しいマイクロソフトのバージョンであるかどうかを確認します。保護されたシステム ファイルの置き換えは、次のメカニズムを使用した場合にのみサポートされます。
  • Update.exe を使用した Windows Service Pack のインストール
  • Hotfix.exe または Update.exe を使用した修正プログラムのインストール
  • Winnt32.exe を使用したオペレーティング システムのアップグレード
  • Windows Update
上記以外の方法を使用して、保護されたファイルがプログラムによって置き換えられると、WFP により元のファイルが復元されます。Windows インストーラでは、WFP に従って、重要なシステム ファイルをインストールする際に、保護されたファイル自体のインストールや置き換えは行わず、WFP を呼び出して保護されたファイルのインストールまたは置き換えを要求します。

WFP 機能のしくみ

WFP 機能では、2 つのメカニズムを使用して、システム ファイルの保護が実現されます。最初のメカニズムはバックグランドで動作します。この保護は、保護されたディレクトリ内のファイルに対するディレクトリ変更通知が WFP で受信された後で実行されます。WFP はこの通知を受信後、変更されたファイルを特定します。そのファイルが保護されている場合、WFP ではカタログ ファイル内のファイル署名を検索し、新しいファイルが正しいバージョンかどうかが判定されます。ファイルが正しいバージョンでない場合、WFP により、新しいファイルがキャッシュ フォルダのファイル (キャッシュ フォルダに存在する場合) またはインストール元のファイルで置き換えられます。WFP では次の場所を記載されている順に検索して、正しいファイルを見つけます。
  1. キャッシュ フォルダ (デフォルトでは %systemroot%\system32\dllcache)
  2. ネットワーク インストール パス (システムがネットワーク インストールを使用してインストールされた場合)
  3. Windows CD-ROM (システムが CD-ROM からインストールされた場合)
WFP がキャッシュ フォルダ内でファイルを見つけた場合、またはインストール元が自動的に見つかった場合、WFP はメッセージを表示せずにファイルを置き換えます。WFP がこれらのどの場所でもファイルを自動的に見つけることができなかった場合、次のいずれかのメッセージが表示されます。product は使用中の Windows 製品です。
  • Windows ファイル保護 (WFP)
    Windows を正しく動作させるために必要なファイルが、認識できないバージョンのファイルに置き換えられています。システムの安定を維持するために、これらのファイルを元のバージョンに復元する必要があります。

    product を挿入してください。
  • Windows ファイル保護 (WFP)
    Windows を正しく動作させるために必要なファイルが、認識できないバージョンのファイルに置き換えられています。システムの安定を維持するために、これらのファイルを元のバージョンに復元する必要があります。

    ファイルのコピー元のネットワークの場所 \\server\share を利用できません。システム管理者に問い合わせるか、または product を挿入してください。
: 管理者がログオンしていない場合、WFP ではいずれのダイアログ ボックスも表示できません。この場合、管理者がログオンした後、WFP によりダイアログ ボックスが表示されます。管理者がログオンするまで WFP が待機するのは以下のような場合です。
  • SFCShowProgress レジストリ エントリが存在しないか、1 に設定されていて、コンピュータの起動のたびにスキャンするようにサーバーが設定されている場合。この場合、WFP ではコンソールからログオンされるまで待機します。したがって、スキャンが実行されるまでは、RPC サーバーは起動しません。この間、コンピュータはまったく保護されません。

    : ネットワーク ドライブの割り当て、システム ファイルの使用、ターミナル サービスを使用したサーバーへのログオンは可能です。WFP では、これらの操作がコンソール ログオンと見なされないため、無期限に待機し続けます。
  • WFP で、ネットワーク共有からファイルを復元する必要がある場合。この状況は、このファイルが Dllcache フォルダ内に存在しない場合や、破損している場合に発生することがあります。この場合、WFP には、ネットワーク ベースのインストール メディアからネットワーク共有にアクセスするための適切な資格情報がない可能性があります。
WFP 機能によって提供される 2 番目の保護メカニズムはシステム ファイル チェッカー ツール (Sfc.exe) です。GUI モード セットアップの終了時に、システム ファイル チェッカー ツールによって、保護されたすべてのファイルがスキャンされ、無人インストールを使用してインストールされたプログラムによってそれらのファイルが変更されていないことが確認されます。さらに、システム ファイル チェッカー ツールでは、正しいファイル バージョンの追跡に使用されるすべてのカタログ ファイルもチェックされます。カタログ ファイルが失われているか破損している場合、WFP ではそのカタログ ファイルの名前を変更して、キャッシュ フォルダからそのファイルのキャッシュされたバージョンを取得します。カタログ ファイルのキャッシュされたコピーがキャッシュ フォルダにない場合、WFP 機能によりカタログ ファイルの新しいコピーを取得するために、該当するメディアが要求されます。

管理者は、システム ファイル チェッカー ツールによって、保護されたすべてのファイルのスキャンおよびバージョンの確認を行うことができます。さらに、システム ファイル チェッカー ツールはキャッシュ フォルダ (デフォルトでは %SystemRoot%\System32\Dllcache) のチェックと再作成を行います。キャッシュ フォルダが破損したり、使用できなくなったりした場合、コマンド プロンプトで sfc /scanonce コマンドまたは sfc /scanboot コマンドを使用して、フォルダの内容を修復できます。

次のレジストリ キーの
SfcScan
値に使用できる設定には、次の 3 種類があります。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
SfcScan
値に使用できる設定は、以下のとおりです。
  • 0x0
    = 再起動後に保護されたファイルをスキャンしない (デフォルト値)
  • 0x1
    = 再起動のたびにすべての保護されたファイルをスキャンする (sfc /scanboot を実行した場合に設定)
  • 0x2
    = 再起動後 1 回のみすべての保護されたファイルをスキャンする (sfc /scanonce を実行した場合に設定)
デフォルトでは、すべてのシステム ファイルがキャッシュ フォルダにキャッシュされます。キャッシュのデフォルトのサイズは 400 MB です。ディスク容量を考慮すると、すべてのシステム ファイルのキャッシュされたバージョンをキャッシュ フォルダに保存しておくことは望ましくない場合があります。キャッシュのサイズを変更するには、次のレジストリ キーの
SFCQuota
値の設定を変更します。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
WFP により、検証済みのファイルのバージョンがハード ディスク上の Dllcache フォルダに保存されます。キャッシュされるファイルの数は、
SFCQuota
値の設定によって決まります (デフォルトのサイズは 0xFFFFFFFF、つまり 400 MB です)。管理者は必要に応じて
SFCQuota
値の設定を増減できます。
SFCQuota
値を
0xFFFFFFFF
に設定した場合、WFP 機能によりすべての保護されたシステム ファイル (約 2,700 ファイル) がキャッシュされます。

SFCQuota 値にかかわらず、すべての保護されたファイルのコピーがキャッシュ フォルダに保存されない状況は 2 とおりあります。
  1. ディスク領域の不足

    Windows XP では、WFP はハード ディスク上の空き領域が 600 MB + ページ ファイルの最大サイズ未満の場合に Dllcache フォルダへのファイルの保存を停止します。
    Windows 2000 では、WFP はハード ディスク上の空き領域が 600 MB 未満の場合に Dllcache フォルダへのファイルの保存を停止します。
  2. ネットワーク インストール

    ネットワーク経由で Windows 2000 または Windows XP をインストールした場合、i386\lang ディレクトリ内のファイルは Dllcache フォルダに保存されません。
さらに、Driver.cab ファイル内のすべてのドライバが保護されますが、それらは Dllcache フォルダに保存されません。WFP はユーザーにインストール元メディアを要求せずに、直接 Driver.cab ファイルからこれらのファイルを復元できます。ただし、sfc /scannow コマンドを実行すると、Driver.cab ファイルのファイルが Dllcache フォルダに保存されます。

WFP がファイルの変更を検出し、影響を受けるファイルがキャッシュ フォルダ内にない場合、WFP はオペレーティング システムによって現在使用されている変更されたファイルのバージョンを調べます。現在使用中のファイルが正しいバージョンである場合、WFP はそのバージョンのファイルをキャッシュ フォルダにコピーします。現在使用中のファイルが正しいバージョンでない場合、またはファイルがキャッシュ フォルダにキャッシュされていない場合、WFP はインストール元を検索します。WFP がインストール元を見つけられない場合、そのファイルまたはキャッシュされたファイルのバージョンを置き換えるために、管理者に対して該当のメディアを挿入するように要求します。

Dllcache フォルダの場所は、次のレジストリ キーの
SFCDllCacheDir
値 (
REG_EXPAND_SZ
) によって指定されます。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
SFCDllCacheDir 値のデフォルトの値のデータは
%SystemRoot%\System32
です。
SFCDllCacheDir
値にはローカル パスも指定できます。デフォルトでは、
SFCDllCacheDir
値は
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
レジストリ キーにありません。キャッシュの場所を変更するには、この値を追加する必要があります。

Windows の起動時に、WFP により、WFP 設定が同期 (コピー) されます。コピー元は、次のレジストリ キーです。
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection
コピー先は、次のレジストリ キーです。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
したがって、
SfcScan
値、
SFCQuota
値、または
SFCDllCacheDir
値が
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Windows File Protection
サブキーに存在する場合、これらの値は
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
サブキーに存在する同じ値より優先されます。
WFP 機能の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
222473 [NT] システム ファイル保護のためのレジストリ設定
Windows XP と Windows Server 2003 のシステム ファイル チェッカー ツールの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
310747 Windows XP および Windows Server 2003 のシステム ファイル チェッカー (Sfc.exe) について
Windows 2000 のシステム ファイル チェッカー ツールの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
222471 Windows 2000 システム ファイル チェッカー (Sfc.exe) について

関連情報

WFP 機能の関連情報については、次のマイクロソフト Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/aa382551.aspx
Windows インストーラおよび WFP の関連情報については、次のマイクロソフト Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/aa372820.aspx

プロパティ

文書番号: 222193 - 最終更新日: 2007年12月3日 - リビジョン: 11.5
この資料は以下の製品について記述したものです。
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Datacenter Server
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
キーワード:?
kbinfo KB222193
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com