Windows 11/10 の WinSxS フォルダーのクリーンアップ

このことを知っている人は多くないでしょうし、ブログに書かれたこともありません。しかし、Windows 11/10/8.1/8 では、WinSxS フォルダーを安全にクリーンアップすることができます。実際、タスク スケジューラを使って WinSxS フォルダーのクリーンアップを自動化することもできます。WinSxS フォルダーは「Windows Side By Side」の略で、複数のアプリケーションで使用されているライブラリを格納する Windows ネイティブのアセンブリ キャッシュです。Windows コンポーネント ストア ファイルを格納する場所です。

Windows ユーザーからよく聞かれる質問は、「WinSxS フォルダーをクリーンアップしてサイズを小さくする方法はあるか?」「WinSxS フォルダーを削除することはできるか?」「WinSxS フォルダーを別のドライブに移動することはできるか?」などです。以前の記事で見たように、簡単な答えは「いいえ」です。

WinSxS フォルダーのクリーンアップ

しかし、Windows 11/10/8.1/8では、状況が楽になりました。Windows は WinSxS のサイズを自動的に小さくします。これらの方法には、他の新しいコンポーネントに置き換えられたコンポーネントを含むパッケージをアンインストールしたり削除したりするなどの内部プロセスが含まれます。以前のバージョンは一定期間保持され、その後自動的に削除されます。

Windows 8.1 には、DISM.exe に新しいコマンドライン オプション /AnalyzeComponentStore が導入されたことを確認しました。このコマンドを実行すると、WinSxS フォルダーが分析され、コンポーネント ストア クリーンアップが推奨されるかどうかがわかります。

Windows 11/10/8 には、Windows コンポーネント ストアを含む WinSxS フォルダーをクリーンアップする方法がいくつか用意されています。特定のファイルを圧縮したり、一部のパッケージを削除したりすることがあります。これらの最新バージョンの Windows オペレーティング システムで WinSxS フォルダーをクリーンアップする方法を見てみましょう。これを行う方法は 3 つあります。

1] StartComponentCleanup を使用する

StartComponentCleanupタスクは、Windows 8 で作成され、システムが使用されていないときにコンポーネントを定期的に自動的にクリーンアップします。このタスクは、オペレーティング システムによってトリガーされると自動的に実行されるように設定されています。自動的に実行されると、タスクはコンポーネントの以前のバージョンをアンインストールする前に、更新されたコンポーネントがインストールされてから少なくとも 30 日間待機します。

実行するには、タスク スケジューラを開き、次のタスクに移動します。

タスク スケジューラ ライブラリ\Microsoft\Windows\Servicing\StartComponentCleanup

右側のペインの [選択された項目] に[実行]が表示されます。クリックして StartComponentCleanup タスクを開始します。

これにより、TiWorker.exeまたはWindows モジュール インストーラー ワーカーと呼ばれるプロセスが開始されます。プロセスが開始されたことを示す確認ダイアログ ボックスは表示されませんが、タスク マネージャーで確認できます。また、ラップトップの通気口から大量の熱気が出ているのを感じるでしょう。Windows 10/8 では、このタスクが 1 時間以上実行されると、自動的に終了します。このプロセスを終了するには、[終了] をクリックします。この場合、Windows から確認を求められます: このタスクのすべてのインスタンスを終了しますか? [はい] をクリックします。

手動で実行することも、コンポーネントをクリーンアップして圧縮するために、タスク スケジューラを使用して StartComponentCleanup コマンドを使って毎月実行するようにスケジュールすることもできます。タスク スケジューラを使ってタスクを実行するトリガーを設定することで、プロセスを自動化することができます。

または、次のコマンドを使って昇格されたコマンド プロンプトを使って StartComponentCleanup タスクを実行することもできます。

schtasks.exe /Run /TN "\Microsoft\Windows\Servicing\StartComponentCleanup"

成功すると、SUCCESS メッセージが返されます。

2] 展開イメージのサービスと管理を使用する

DISM を使用して、Windows の機能、パッケージ、ドライバーなどを構成して更新することができます。TechNet によると、Dism.exe の/Cleanup-Imageパラメータは、WinSxS フォルダーのサイズを小さくするための高度なオプションを提供します。

A) 実行中の Windows 8.1 の/StartComponentCleanupパラメータの Dism.exe を使用すると、タスク スケジューラで StartComponentCleanup タスクを実行するのと同じ結果が得られます。

昇格されたコマンド プロンプトを開き、次のように入力して Enter キーを押します。

Dism.exe /online /Cleanup-Image /StartComponentCleanup

B) /ResetBaseスイッチを/StartComponentCleanupパラメータと一緒に使用すると、コンポーネント ストア内のすべてのコンポーネントの置き換えられたすべてのバージョンを削除することができます。

昇格されたコマンド プロンプトから、次のように入力して Enter キーを押します。

Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase

C) サービス パックで使用されている領域を減らしたい場合は、実行中の Windows 8.1 で Dism.exe の/SPSupersededパラメータを使用して、サービス パックのアンインストールに必要なバックアップ コンポーネントを削除します。

昇格されたコマンド プロンプトから、次のように入力して Enter キーを押します。

Dism.exe /online /Cleanup-Image /SPSuperseded

このコマンドを実行すると、既存のサービス パックと更新プログラムをアンインストールできなくなることに注意してください。

3] ディスク クリーンアップ ツール

一般ユーザーは、ディスク クリーンアップ ツールを使用するべきです。ディスク クリーンアップ ユーティリティを開き、システム ファイルのクリーンアップボタンをクリックします。Windows Update クリーンアップのオプションが表示されます。このオプションをオンにします。これにより、コンポーネント ストアのサイズを小さくすることができます。

WinSxS フォルダーからファイル削除したり、WinSxS フォルダー全体を削除したりすると、システムが破損して起動不能になる可能性があることに注意してください。Windows コンポーネントのインストール、アンインストール、更新ができなくなる可能性もあるため、最大限の注意が必要です。通常の Windows ユーザーは、まずシステムの復元ポイントを作成してから、上記の方法 1 または方法 3 を試すことができます。方法 2 は上級ユーザー向けです。

Windows 7 ユーザーも、ディスク クリーンアップ ツールで Windows Update クリーンアップ オプションを使用できるようになりました。