英語で読む

次の方法で共有


大きな Windows コンポーネント ストア (WinSxS) ディレクトリが原因で発生するディスク領域の問題を解決する方法

この記事では、大きな Windows コンポーネント ストア (WinSxS) ディレクトリによって発生するディスク領域の問題を解決する方法について説明します。

適用対象: Windows 7 Service Pack 1、Windows Server 2008 R2 Service Pack 1
元の KB 番号: 2795190

現象

C:\Windows フォルダーのサイズを調べると、C:\Windows\winsxs ディレクトリで大量のディスク領域が使用されているようです。

原因

Windows コンポーネント ストア (C:\Windows\winsxs) ディレクトリは、Windows インストール内のサービス操作中に使用されます。 サービス操作には、Windows Update、Service Pack、修正プログラムのインストールが含まれますが、これらに限定されません。

コンポーネント ストアには、Windows のインストールに必要なすべてのファイルが含まれています。 また、これらのファイルに対する更新プログラムも、更新プログラムがインストールされるとコンポーネント ストア内に保持されます。 これにより、更新プログラム、機能、または役割がインストールに追加されるにつれて、コンポーネント ストアが時間の経過と同時に拡大します。 コンポーネント ストアは、それ自体と他の Windows ディレクトリ間の NTFS ハード リンクを使用して、Windows プラットフォームの堅牢性を高めます。

コンポーネント ストアには、Windows エクスプローラーのシェルでハード リンクが使用されるため、大きなディレクトリ サイズが表示されます。 Windows シェルは、ハード リンクへの各参照を、ファイルが存在する各ディレクトリのファイルの 1 つのインスタンスとしてカウントします。 たとえば、advapi32.dllという名前のファイルが 700 KB で、コンポーネント ストアと \Windows\system32 ディレクトリに含まれている場合、Windows エクスプローラーは、ファイルが 1,400 KB のハード ディスク領域を消費すると不正確に報告します。

解決方法

NTFS ハード リンクのため、システム ボリューム以外のボリュームにコンポーネント ストアを配置することはできません。 コンポーネント ストアを移動しようとすると、Windows 更新プログラム、サービス パック、ロール、または機能を正しくインストールできなくなります。 また、コンポーネント ストアから手動でファイルを削除することはお勧めしません。

Windows インストールでのコンポーネント ストア ディレクトリのサイズを小さくするには、Service Pack のインストールを永続的にし、Service Pack ファイルから使用済み領域を再利用することができます。 ただし、Service Pack のインストールを永続的にした場合、サービス パックはリムーバブルではありません。

Windows インストールから Service Pack ファイルを削除するには、次のインボックス ユーティリティを使用します。

  • Windows Server 2008 Service Pack 2 がインストールされている: Compcln.exe
  • Windows 7 Service Pack 1 または Windows Server 2008 R2 Service Pack 1 がインストールされました: DISM /online /Cleanup-Image /SpSupersed またはディスク クリーンアップ ウィザード (cleanmgr.exe)

また、システムで削除イベントを強制することで、Windows Server 2008 のインストールで事前に清掃を実行することもできます。 Scavenging は、不要なシステム バイナリをインストールから削除し、Windows がディスク領域を再利用できるようにします。 Windows インストールでアンインストール イベントを発行するには、まだインストールされていない不要なシステム コンポーネントを追加および削除してから、Windows インストールを再起動します。 清掃は、オペレーティング システムの次の再起動中に実行されます。

注意

清掃は、Windows 7 および Windows Server 2008 R2 のインストールで自動的に実行されます。

詳細

システム上の追加のディスク領域を再利用するには、次の手順に従います。

  1. Startを選択し、[プログラムとファイルの検索テキスト ボックスに「Disk cleanup」と入力します。

  2. ディスククリーンアップアイコンをクリックし、ディスククリーンアップツールを実行して、構成に基づいて削除できるファイルを決定します。

システム ボリューム上の領域を節約するその他の方法を次に示します。

  • ページング ファイルをシステム上の別のボリュームに移動します。
  • システムで休止状態を無効にします。
  • 専用ダンプ・ファイル・オプションを使用して、システム上の別のボリューム上のメモリー・ダンプ・ファイルをキャプチャーします。
  • ユーザー・プロファイルおよびプログラム・ファイル・ディレクトリーをシステム上の別のボリュームにオフロードします。
  • クライアント のインストール時にシステム復元ポイントを無効にします。
  • ディスク クリーンアップ ウィザード (cleanmgr.exe) を使用して、すべての一時ディレクトリとフォルダーをクリーンアップします。
  • 未使用のアプリケーションまたはユーティリティをインストールからアンインストールします。

WinSxS フォルダーの詳細については、次を参照してください。

ディスクのシステム要件の詳細については、以下を参照してください。

注意

  • Windows インストーラーを使用して製品をインストールすると、元の.msi データ ファイルの小さいバージョンが Windows インストーラー キャッシュ (%windir%\Installer) フォルダーに格納されます。 時間の経過と同時に、このフォルダーは大きくなる可能性があります。 修正プログラム、累積的な更新プログラム、サービス パックのセットアップなど、インストールされた製品の追加の更新プログラムのインストールごとに、関連する .msp または.msi ファイルも Windows インストーラー キャッシュに格納されます。 時間の経過と同時に、このフォルダーは大きくなる可能性があります。 このフォルダー内のファイルを削除したり、別のコンピューターのファイルに置き換えたりすることはサポートされておらず、お勧めしません。 アプリケーションの更新は、このフォルダーに格納されているファイルで使用できる情報に依存します。 この情報がないと、更新プログラムはインストールを正しく実行できません。

  • %windir%\softwaredistribution\downloads フォルダーは、ダウンロードした更新プログラムを格納するために Windows Update によって使用されます。 通常、このフォルダーは Windows によって管理されるため、管理する必要はありません。 このフォルダーの一般的なサイズは、オペレーティング システムのバージョン、その時点で利用可能な更新プログラムなど、いくつかの要因によって決まります。 したがって、標準的なサイズの期待値を提供することは困難です。 このフォルダーで大量のディスク領域が使用されている場合は、まずシステムで使用可能なすべての更新プログラムをインストールしてから、コンピューターを再起動します。 サイズがまだ大きいままである場合にこの問題をトラブルシューティングするには、次の手順に従います。

    1. 管理者特権でのコマンド プロンプトで、 Net Stop WUAUSERV コマンドを実行します。
    2. %windir%\softwaredistribution\downloads フォルダーの内容を削除します。
    3. 管理者特権のコマンド プロンプトで、 Net Start WUAUSERV コマンドを実行します。

データ収集

Microsoft サポートの支援が必要な場合は、「展開関連の問題について TSS を使用して情報を収集する」に記載している手順に従って情報を収集することをお勧めします。