Winsxsフォルダの説明

次のようなディスクスペースアナライザーを実行したWindowsユーザー TreeSize または WizTree 最後の数日間は、WindowsディレクトリのWinsxsフォルダーに初めて遭遇した可能性があります。

フォルダーのサイズは通常、Windows VistaおよびWindows 7以降では約5〜8ギガバイトですが、最大16ギガバイト以上の大きなフォルダーが報告されています。

特に最近Windows 7に切り替えたWindows XPユーザーは、フォルダーのサイズが数メガバイトからギガバイトに増加した理由を自問している場合があります。

インターネット検索エンジンとメッセージボードはフォルダーに関する質問でいっぱいです。多くのユーザーは、Winsxsフォルダーを削除しても安全かどうか、オペレーティングシステムのバックアップに含める必要があるかどうか、または他のフォルダーと比較してサイズが非常に大きい理由を知りたがっています。 Windowsフォルダー。

winsxs
winsxs

過去を振り返ることが重要です。 Windows 9xに戻ると、オペレーティングシステムはダイナミックリンクライブラリ、より正確には同じdllの異なるバージョンに問題がありました。 dllの複数のバージョンを格納する方法がなかったため、非互換性やその他の問題が発生しました。

その後、MicrosoftはWindows MEで、オペレーティングシステムで同じ名前を使用して複数のdllバージョンを保存するオプションを追加し始めました。このテクノロジがWindows VistaおよびWindows 7のユーザーが現在体験しているものに変わったのは、Windows Vistaになってからのことでした。

Windowsエクスプローラーでフォルダーを開くと、各フォルダーに少なくとも1つのファイルが含まれているが、多くの場合は複数のファイルが含まれている、巨大なフォルダーリストが表示されます。同じ名前で始まるフォルダーは、同じDLLの異なるバージョンをホストします。同じダイナミックリンクライブラリの異なるバージョンをホストするフォルダーが5つ以上ある場合があります。

winsxs folder
winsxsフォルダー

Winsxsは、Windows Side by Sideの略で、オペレーティングシステムの異なるバージョンで同じファイルをホストするという概念を指します。

バックアップフォルダーは、Winsxsフォルダー内の最大のフォルダーとして表示され、その後にnaturallanguage6フォルダーとマニフェストが続きます。

Technetブログ 役職 Jeff Hugh著、INFで説明されているOSからWindows Vistaでのコンポーネント化への移行について説明しています。

オペレーティングシステムのすべてのコンポーネントはWinSxSフォルダーにあります。実際、この場所をコンポーネントストアと呼びます。各コンポーネントには固有の名前があり、そのコンポーネントのバージョン、言語、およびプロセッサアーキテクチャが組み込まれています。 WinSxSフォルダーは、コンポーネントがシステム上で検出される唯一の場所です。システム上に表示されるファイルの他のすべてのインスタンスは、コンポーネントストアからのハードリンクによって「投影」されます。最後のポイントを繰り返します。OSの各ファイルの各バージョンのインスタンス(または完全なデータコピー)が1つだけあり、そのインスタンスはWinSxSフォルダーにあります。その観点から見ると、WinSxSフォルダーは実際にはOS全体の全体であり、下位レベルのオペレーティングシステムでは「フラット」と呼ばれます。これは、システムファイルチェッカー(SFC)などの操作を実行するとき、または追加の機能と役割をインストールするときにメディアを要求されなくなる理由も説明します。

Jeffの投稿は、winsxsフォルダー内のファイルを削除しても安全かどうかという質問への回答です。つまり、そうではありません。

そのフォルダーのファイルサイズを安全に減らす唯一のオプションは、不要になったソフトウェアをオペレーティングシステムから削除することですが、それでもファイルサイズが大幅に減少することはありません。

WinSxSフォルダーのサイズを安全に減らす唯一の方法は、システムが実行できる可能なアクションのセットを減らすことです。これを行う最も簡単な方法は、最初にコンポーネントをインストールしたパッケージを削除することです。これは、システムにある古いバージョンのパッケージをアンインストールすることで実行できます。 Service Pack 1には、VSP1CLN.EXEと呼ばれるバイナリが含まれています。これは、システムでService Packパッケージを永続的(削除不可)にし、すべての置き換えられたコンポーネントのRTMバージョンを削除するツールです。これは、Service Packを永続的にすることで、RTMバージョンが不要になることを保証できるためにのみ実行できます。

フォルダーはそのままにしておくことをお勧めします。 Windows Vistaユーザーは、サードパーティのアプリケーションWinsxsLiteを実行することにより、Winsxsフォルダーのサイズを縮小できる可能性があります

WinsxsLiteは、Vistaでのwinsxのサイズを削減するためのツールとして意図されています。

WinsxsLiteは2つのフェーズに分かれています。
最初のフェーズでは、Program FilesおよびWindowsフォルダーでファイルを検索し、
これらは、winsxsフォルダー内のファイルとまったく同じです。

2番目のフェーズでは、winsxsの各ファイルの古いバージョンをすべて置き換えます。
最新バージョンのファイルへのハードリンク。
したがって、たとえば、16の異なるバージョンがあるように見えます
特定のファイルですが、実際には、ポイントされるデータオブジェクトは1つだけです。
16ディレクトリエントリ。
さらに、未使用のローカライズされたファイルは、それらを置き換えることで排除できます
他の言語の対応するファイルへのハードリンク。

注:どちらのフェーズもオプションです。

注:Vista SP1がインストールされている場合は、vsp1cln.exeが実行されていることを確認してください。

WinsxsLiteを実行する前にシステムバックアップを作成することを強くお勧めします。ソフトウェアはWindowsシステムパーティションに、バックアップによってのみ元に戻すことができる不可逆的な変更を加えるためです。

プログラムの最新バージョンは常に 利用可能 Google Codeプロジェクトのウェブサイト。このサイトはRapidshareのダウンロード場所にリンクしています。最新のファイルをサーバーにアップロードすることも自由です。以下の20Kツールをダウンロードできます:WinsxsLite1.86

Windows Vistaとのみ互換性があり、Windows 7とは互換性がないことに注意してください。

Service PackがインストールされているWindows Vistaユーザーは、さらに VSP1CLN サービスパックのインストール後に不要になったファイルを削除するコマンドラインツール。これらのファイルは、VistaでSPをアンインストールするために必要です。

Winsxsフォルダーのサイズを縮小するためのヒントはありますか?コメントでそれらについて教えてください。

更新 :最近の情報によると、Winsxsフォルダーは実際にはシステムによって報告されるほど大きくない可能性があり、その主な理由は、フォルダー内のファイルの多くがシステムの他の場所にあるファイルを指すハードリンクであることです。

「Windows SxSディレクトリは、すべてのシステムコンポーネントの「インストールとサービスの状態」を表しています。ただし、実際には、組み込みツール(DIRおよびExplorer)を使用して使用されているディスク領域を測定する場合に表示されるほど、実際にはそれほど多くのディスク領域を消費しません。ディレクトリで実際にどれだけの領域が消費されているかを知っておくのが難しいことは、間違いなく公正な点です。
実際には、WinSxSディレクトリ内のほぼすべてのファイルは、システムの他の場所にある物理ファイルへの「ハードリンク」です。つまり、ファイルは実際にはこのディレクトリにありません。たとえばWinSxSには、700Kを超えるadvapi32.dllというファイルがある可能性がありますが、報告されているのは、Windows System32にある実際のファイルへのハードリンクであり、次の場合に2回(またはそれ以上)カウントされます。 Windowsエクスプローラから個々のディレクトリを確認するだけです。」

してもいいです DISMコマンドを使用してWinSXSフォルダーを分析およびクリーンアップする Windows 8以降のバージョンのWindowsオペレーティングシステム。

その詳細については、 Windows 7のエンジニアリング ブログ。