WinSxSフォルダを安全に削減する方法:DISMの活用と注意点

WinSxSを減らすときは、フォルダ内のファイルを手作業で削除してはいけません。最初に管理者として開いたコマンド プロンプトでDism.exe /Online /Cleanup-Image /AnalyzeComponentStoreを実行し、「コンポーネント ストアのクリーンアップを推奨」の結果と実際のサイズを確認します。削減が必要なら、Windowsの自動クリーンアップ、タスク スケジューラのStartComponentCleanup、通常のDISMクリーンアップの順に進めます。/ResetBaseは既存更新プログラムをアンインストールできなくなるため、通常は使わない判断が安全です。

目次

WinSxSを直接削除してはいけない理由

C:\Windows\WinSxSは、単なる古いファイルの保管場所ではなく、Windowsのコンポーネント ストアです。更新、機能の有効化、修復などで使われる構成要素が含まれます。Microsoftは、WinSxS内のファイルまたはフォルダ全体を削除すると、Windowsが起動できない、更新できないといった重大な問題につながると警告しています。

エクスプローラーで表示されるフォルダサイズには、他の場所から参照されるハードリンクの影響が含まれ、WinSxSだけが実際に占有している容量を大きく見積もる場合があります。そのため、見た目のサイズを削減目標にせず、DISMの分析結果を基準にします。

最初にディスク不足の原因を切り分ける

状況先に行うことWinSxS操作
一時ファイルやごみ箱が大きいストレージ センサーで確認まだ行わない
WinSxSが大きく見えるだけAnalyzeComponentStore分析結果で判断
クリーンアップ推奨が「いいえ」他の使用量を調査実行を見送る
推奨が「はい」復旧準備と空き時間を確保標準手順へ進む
直前の更新を戻す可能性がある更新の動作確認を優先ResetBaseは使わない

空き容量を増やす目的なら、WinSxS以外に削除しやすい一時ファイルがないかを先に確認します。ストレージ センサーは一時ファイルやごみ箱などを対象にでき、システム コンポーネントを手で選別するより影響が小さい方法です。

DISMで実際のサイズを分析する

作業中のアプリを閉じ、管理者としてコマンド プロンプトを開いて次を実行します。

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

結果では、エクスプローラーが報告するサイズ、コンポーネント ストアの実際のサイズ、Windowsと共有している容量、バックアップと無効な機能、キャッシュと一時データ、前回のクリーンアップ日時、推奨の有無を確認できます。特に「クリーンアップを推奨」が「はい」かどうかを判断材料にします。

分析コマンドは削除を行わないため、最初の診断として適しています。結果をテキストで記録し、後の分析結果と比較できるようにします。フォルダのプロパティだけを前後比較するより、Microsoftが案内する実サイズの指標を使うほうが正確です。

作業前に復旧可能性を確保する

  • 重要な個人ファイルが別の保存先にもあることを確認します。
  • Windows Update後の再起動と普段使うアプリの動作を先に確認します。
  • システム保護を利用している場合は、現在の復元ポイント状況を確認します。
  • 電源を切らずに完了を待てる時間を確保します。
  • /ResetBaseを使わないことを基本方針にします。

復元ポイントはシステム ファイルや設定を以前の状態へ戻すための補助手段ですが、個人ファイルの完全なバックアップではありません。また、/ResetBase後に既存の更新プログラムをアンインストールできないという制限を解除するものでもありません。戻せる状態を重視するなら、不可逆なオプションを実行しないことが最も確実です。

最小変更はWindowsの自動クリーンアップに任せる

Windowsは内部処理によって、置き換えられた古いコンポーネントを一定期間後に整理します。空き容量に緊急性がなく、分析結果でも大きな削減が必要でなければ、何も実行せず自動処理を待つのが最小変更です。Microsoftの説明では、タスク スケジューラの自動処理は更新されたコンポーネントの旧版を少なくとも30日待ってから削除し、実行時間には1時間の上限があります。

この待機期間は、更新後に問題が分かったときのために旧コンポーネントをしばらく保持する意味があります。数日だけ容量が増えた場合は、すぐに強いクリーンアップを実行せず、更新の安定と空き容量の両方を見て判断します。

タスク スケジューラで標準タスクを実行する

分析でクリーンアップが推奨され、手動で開始したい場合は、まずWindowsに登録済みのStartComponentCleanupタスクを使います。タスク スケジューラを開き、「タスク スケジューラ ライブラリ」→「Microsoft」→「Windows」→「Servicing」→「StartComponentCleanup」を選んで実行します。

Microsoftは同じタスクを次の公式コマンドでも開始できると案内しています。画面で対象タスクを確認できるなら、タスク スケジューラから実行するほうが対象を見間違えにくい方法です。

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

タスクを開始したら、完了するまで電源を切らず、同時に大きな更新作業を重ねません。完了後に再起動が必要かをWindows Updateで確認し、通常の操作に問題がないかを見ます。

通常のDISMクリーンアップを実行する

タスクの実行では足りず、分析結果がクリーンアップを推奨している場合は、管理者として開いたコマンド プロンプトで通常のDISMクリーンアップを実行します。

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Microsoftの説明では、この方法はタスク スケジューラと似た結果を得ますが、更新されたコンポーネントの旧版を30日待たずに削除し、1時間の上限もありません。自動処理より影響が早く現れるため、直近の更新後に問題がないことを確認し、十分な作業時間を確保してから実行します。

進捗が止まったように見えても、ウィンドウを閉じたりPCを強制終了したりしません。完了メッセージまたはエラーを記録し、再起動後に普段の操作とWindows Updateを確認します。

ResetBaseは通常の削減手順から外す

/StartComponentCleanup /ResetBaseは、コンポーネント ストアにある置き換え済みコンポーネントの全旧版を削除します。Microsoftは、完了後にその時点で存在する更新パッケージをアンインストールできなくなると明記しています。将来の更新パッケージのアンインストールを妨げるものではありませんが、現在の状態へ戻す選択肢を失います。

わずかな空き容量を増やすために戻す手段を失うのは釣り合いません。通常の/StartComponentCleanupで十分かを再分析し、空き容量の問題は他のデータ整理や保存先の見直しでも解決できないかを確認します。ロールバック可能性が必要なPCでは/ResetBaseを実行しません。

実行後に効果と動作を検証する

  1. PCを通常どおり再起動します。
  2. 普段使うアプリ、設定画面、ファイル操作が正常か確認します。
  3. Windows Updateを開き、保留中の処理がないか確認します。
  4. Dism.exe /Online /Cleanup-Image /AnalyzeComponentStoreを再実行します。
  5. 実際のサイズ、最終クリーンアップ日時、推奨の有無を実行前と比べます。
  6. システム ドライブの空き容量も確認します。

削減量が小さくても、分析結果で推奨が「いいえ」になっていれば、不要なコンポーネントが大量に残っているとは限りません。WinSxSを目標サイズまで無理に縮める考え方ではなく、Windowsが必要とする構成を保ちながら整理できる範囲だけを削減します。

問題が起きたときの戻し方

実行中でまだ完了していない場合も、強制終了は避けます。エラーで終了したらコードとメッセージを記録し、再起動後にWindows Updateと通常操作を確認します。標準クリーンアップで削除された旧コンポーネントを、WinSxSへ手動コピーして戻してはいけません。

事前に作成した復旧手段がある場合は、Microsoftの回復手順に沿って利用します。ただし、/ResetBaseで失われた既存更新のアンインストール機能を後から復活させる操作はありません。したがって、この記事でのロールバック設計は「分析を先に行う」「標準タスクから始める」「ResetBaseを使わない」の3点が中心です。

よくある質問

WinSxSフォルダを別ドライブへ移動できますか

通常のデータ フォルダとして移動する対象ではありません。システムが参照するコンポーネント ストアなので、移動やリンクの付け替えではなく、Microsoftが案内するDISMまたは標準タスクを使います。

毎月DISMを実行したほうがよいですか

定期実行を増やす前に、Windowsの自動クリーンアップと分析結果を使います。分析で推奨されていないなら、頻繁な手動実行に大きな利点はありません。容量不足が起きたときに原因を確認して判断します。

エクスプローラーのサイズがあまり減らないのは失敗ですか

ハードリンクのため、フォルダのプロパティは実際の占有量を正確に表さない場合があります。再度AnalyzeComponentStoreを実行し、実サイズと推奨状態で判断します。

公式情報

まとめ

WinSxSは手動削除せず、最初にAnalyzeComponentStoreで実サイズとクリーンアップ推奨を確認します。容量に余裕があれば自動処理を待ち、必要ならStartComponentCleanupタスク、通常のDISMクリーンアップの順に進めます。実行前後の分析結果と通常動作を比較し、既存更新をアンインストールできなくする/ResetBaseは、戻せる状態を重視するなら使いません。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次