お気づきの方も多いかもしれませんが、WinSxSフォルダーWindows 11/10/8/7で使用して、そのサイズに驚きました。まだ持っていない人のために、フォルダーは次の場所にあります。C:\Windows\Winsxsそしてなんとそのサイズ!私のものはほぼ 5 GB で、約 6000 個のフォルダーと 25000 個のファイルがあり、Windows フォルダーのほぼ 40% を占めています。この Winsxs フォルダーのサイズは、XP では約 25 ~ 50 MB です。 Windows 11 ではそのサイズが大きいです。Windows 10、Windows 8、Windows 7、および Windows Vista は、多くの人にとって興味深いものです。下の画像を確認してください。
Windows 11/10のWinSxSフォルダーとは何ですか
のWinSxSフォルダ、複数のコピーを保存しますdll、exe、およびその他のシステム ファイル互換性の問題を発生させることなく、Windows で複数のアプリケーションを実行できるようになります。中を閲覧すると、多数の重複したものがあることがわかります。ファイル、それぞれ同じ名前を持ちます。これらは実際には、保存されている同じファイルの異なるバージョンです。プログラムによって必要なバージョンが異なる場合があるためです。
Winsx、を表します「Windows をサイドバイサイド」、Windows ネイティブ アセンブリ キャッシュです。複数のアプリケーションによって使用されているライブラリがそこに保存されます。この機能は Windows ME で初めて導入され、Windows 9x を悩ませていたいわゆる「dll 地獄」問題に対する Microsoft の解決策と考えられていました。
Winsxs では、以下の画像でわかるように、「バックアップ」フォルダーが最大です。
ここでも、下の画像に見られるように、Winsxs フォルダー内の「その他」ファイル タイプ取るスペースの大部分。これらは主に、.imd、.ngr、.csd、.dll、.dll.mui、.exe およびその他のファイル タイプで構成されます。
Windows 7 以降では、「dllcache」フォルダーはなく、システムが (XP のように) すべてのソース モジュールをキャッシュする「i386」フォルダーも見つかりません。 Side-by-Side アプリケーションの共有コンポーネントを保存するのは、この WinSxS フォルダーです。これらのファイルは、同じアセンブリまたはアプリケーションの複数のバージョンである場合があります。すべての並列アセンブリには独自のアイデンティティがあります。アセンブリ ID の属性の 1 つはそのバージョンです。
「サイドバイサイド アセンブリは、命名、バインディング、バージョン管理、展開、構成の基本単位としてオペレーティング システムによって使用されます。 Winsxs フォルダーには、すべてのマニフェスト、オプションのコンポーネント、およびサードパーティの Win32 ファイルが含まれています」と Microsoft は述べています。
しかし、なぜこれほど多くのサブフォルダーがあり、なぜ保存されているのでしょうか?とてもたくさんの同じものの異なるバージョンdll、exe、またはその他のファイルですか?
前述したように、Windows には古い DLL が保存されます。WinSxS フォルダー内のライブラリ コンポーネント。このファイルの新しいバージョンが OS の一部であるが、特定のアプリケーションの実行には特定の古いバージョンが必要な場合、W からの古いバージョンが使用されます。inSxS新しいバージョンを必要とする他のアプリケーションのために、新しいバージョンを現在の場所に残したまま、フォルダーが使用されます。
WinSxS フォルダーを削除しても安全ですか?
当然のことながら、このディレクトリを削除したり、他の場所に移動したりすることはできません。また、ここで何かを削除することはお勧めできません。そのような手順を実行すると、アプリケーションが動作しなくなったり、システムが破損したりする可能性があります。多くのアプリケーションがインストールされている場合、巨大なサイズの W が発生することが予想されます。inSxSフォルダ。この WinSxs フォルダーは、システム ボリューム以外のボリュームには存在できません。これは NTFS ハードリンクが原因です。フォルダーを移動しようとすると、Windows 更新プログラム、サービス パック、機能などが正しくインストールされなくなる可能性があります。
マニフェストやアセンブリなどのコンポーネントを WinSxS フォルダーから削除すると、問題が発生する可能性があります。各システムの反応は異なります。ある人にとってはうまくいくかもしれないが、別の人にとっては役に立たない可能性があります。たとえば、削除した可能性がある特定のアセンブリを必要とするプログラムをインストールした場合、そのプログラムは実行されなくなります。WindowsUpdate や Hotfix のインストール中に問題が発生する可能性があるため、フォルダーを圧縮することも禁止されています。
最も安全にクリーンアップする方法は、不要なアプリケーションをアンインストールすることです。ただし、これも絶対確実というわけではありません。ファイルは他のアプリケーション間で共有される可能性があるため、多くのアプリケーションは依然としてここにファイルを残します。したがって、不使用の確率はdllの置き去り率はかなり高いです。
次のような WinSxS クリーンアップ ツールの使用はお勧めしません。WinsxsLiteWindows が壊れてしまう可能性があるためです。
また、新しいソフトウェアを試したり、頻繁にインストールとアンインストールをしたりする場合は、Windows がこれらのソフトウェアのコピーを複数保存するため、Winsxs のサイズが実際に大きいことに気づくかもしれません。dll複数のアプリケーションを互換性の問題なく使用できるようにするため。
Windows 11/10のWinSxSフォルダーのクリーンアップ
Windows では、新しいコマンドライン オプションが導入されました。WinSxS フォルダーのクリーンアップ: DISM.exe、/Analyzeコンポーネントストア。このコマンドを実行すると、WinSxS フォルダーが分析され、コンポーネント ストアのクリーンアップが推奨されるかどうかがわかります。に存在しますWindows 11/10、 同じように。
- でWindows 11/10/8.1/8、ディスク クリーンアップ ツールを開き、Windows Update クリーンアップ オプションを使用して WinSxS をクリーンアップします。
- のためにWindows 7, Microsoftがアップデートをリリースしました。ディスク クリーンアップ ツールに Windows Update クリーンアップ オプションを追加しました。
- WindowsサーバーユーザーもクリーンアップできるようになりましたWindows Server の WinSxS新しいアップデートで。
検討できるその他のオプションは次のとおりですディスクスペースを解放する– 日常的なものもあれば、極端なものもあります。
- 走るディスククリーンアップツール
- 使用していないアプリケーションをアンインストールする
- ページファイルを別のドライブに移動する
- 休止状態を無効にする
- 専用のダンプ ファイル オプションを使用して、システム上の別のボリュームにメモリ ダンプ ファイルをキャプチャします。
- システムの復元ポイントを無効にする
- ユーザー プロファイルとプログラム ファイル ディレクトリをシステム上の別のボリュームにオフロードします。
TechNet ブログからのアップデート 1:以前のバージョンの Windows 間の最大の変更点の 1 つは、INF 記述された OS からコンポーネント化。オペレーティング システムのすべてのコンポーネントは WinSxS フォルダーにあります。実際、この場所をコンポーネント ストアと呼びます。各コンポーネントには、そのコンポーネントが構築されたバージョン、言語、プロセッサ アーキテクチャを含む一意の名前が付いています。 WinSxS フォルダーは、システム上でコンポーネントが見つかる唯一の場所です。システム上に表示されるファイルの他のすべてのインスタンスは、コンポーネント ストアからのハード リンクによって「投影」されます。
ストアがこれほど大きくなる理由がわかったので、次の質問は、なぜ古いバージョンのコンポーネントを削除しないのかということでしょう。それに対する簡単な答えは信頼性です。コンポーネント ストアとシステム上の他の情報を使用すると、プロジェクトにとってコンポーネントの最適なバージョンをいつでも判断できます。つまり、セキュリティ アップデートをアンインストールした場合、次に高いバージョンをシステムにインストールできるため、「順番どおりにアンインストールできない」という問題はなくなりました。また、オプション機能をインストールすることにした場合、コンポーネントの RTM バージョンを選択するだけでなく、システム上で利用可能な最も高いバージョンが何かを確認することも意味します。
WinSxS フォルダーのサイズを安全に減らす唯一の方法は、システムが実行できるアクションのセットを減らすことです。最も簡単な方法は、最初にコンポーネントをインストールしたパッケージを削除することです。これは、システム上にあるパッケージの置き換えられたバージョンをアンインストールすることで実行できます。 Service Pack 1 には、次のバイナリが含まれています。VSP1CLN.EXE、Service Pack パッケージをシステム上で永続化 (削除不可) にし、置き換えられたすべてのコンポーネントの RTM バージョンを削除するツールです。これは、Service Pack を永続化することによってのみ可能になります。 RTM バージョンは今後も必要ないことを保証できます。
E7 ブログからの更新 2: オペレーティング システムの「モジュール化」は、Windows Vista のエンジニアリング目標でした。これは、インストール、サービス、信頼性に関連する従来の Windows の多くの問題を解決するためのものでした。 Windows SxS ディレクトリは、すべてのシステム コンポーネントの「インストールとサービスの状態」を表します。しかし、実際には、組み込みツール (DIR および Explorer) を使用して使用されているディスク領域を測定したときに表示されるほど多くのディスク領域を消費しません。ディレクトリ内でどのくらいのスペースが消費されているかを知ることが難しくなっているという事実は、正当な指摘です。 WinSxS ディレクトリはオフライン サービスも有効にし、Windows Vista 以降を「安全にイメージングできる」ようにします。
WinSxS ディレクトリを削除しても問題ないとするブログや「アンダーグラウンド」ツールがいくつかあります。確かに、インストール後にシステムから削除しても、システムは正常に起動して動作するように見えます。 。ただし、上で説明したように、これは非常に悪い習慣です。すべてのオペレーティング システム コンポーネントを確実にサービスする機能、およびシステム上のオプション コンポーネントを更新または構成する機能を削除することになるからです。 Windows は、最初にインストールされた場所にある物理ドライブ上の WinSxS ディレクトリのみをサポートします。
結論
WinSxSフォルダはそのままにしておきます!
について学びましょうシスネイティブフォルダー、 パンサーフォルダーそしてCatroot および Catroot2 フォルダーここ。
追加の読み取り: