Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

Windowsクライアント・サーバーでWinSxSフォルダーのサイズを縮小してディスク容量を解放する3つの方法

物理ディスクや仮想ディスクの容量が C:\Windows\WinSxS フォルダー内の大量のファイルによって圧迫され、管理者アカウントでログインしているにもかかわらずファイルを削除できない——そんな経験はありませんか?おそらく多くの方が一度は遭遇したことがあるでしょう。

Windowsを更新するたびに、OSはダウンロードした更新ファイルを WinSxS フォルダーに保存します。Microsoftによれば、一部コンポーネントの旧バージョンは一定期間システム上に保持されており、必要に応じてロールバック(前の状態への復元)が可能になっています。一定期間が経過すると古いコンポーネントは自動的に削除されるはずですが、実際には自動削除されず、手動での対応が必要になるケースが少なくありません。

WinSxSフォルダー内のファイルを直接削除してはいけない理由

まず大前提として、WinSxSフォルダー内のファイルやフォルダーそのものを直接削除しないでください。削除を行うとシステムが深刻なダメージを受け、PCが起動しなくなったり、今後のWindows Updateが不可能になったりする恐れがあります。どうしても行う場合は、必ずシステムイメージのバックアップを取得してからにしてください。

本記事では、以下のような実際のシナリオを例に解説します。2016年12月から Windows Server 2016 を稼働させている50GBの仮想マシンがあり、WinSxS フォルダーがディスク容量の約30%(15GB)を消費していたため、空き容量不足で正常に動作しない状態でした。この記事の目的は、WinSxSフォルダーのサイズを安全に縮小し、ディスク領域を解放する方法を紹介することです。

なお、ここで紹介する手順は、クライアントOSであれば Windows 7 ~ Windows 10、サーバーOSであれば Windows Server 2012 ~ Windows Server 2019 まで同様に適用できます。

方法1:ディスククリーンアップを実行する

まず最初の方法は、Windows標準搭載のユーティリティ「ディスククリーンアップ」を使って不要ファイルを削除する方法です。最も手軽で安全な手段と言えます。

  1. Windowsキー + E を押してエクスプローラーを開きます
  2. PC をクリックし、システムパーティション(通常は ローカルディスク (C:)\)へ移動します
  3. Cドライブを右クリックし、「プロパティ」を選択します
  4. 全般」タブの「ディスククリーンアップ」をクリックします。解析には数分かかる場合があります
  5. 削除したいファイルにチェックを入れ、「OK」をクリックします
  6. ファイルの削除」をクリックして、ファイルの完全な削除を確定します
  7. 完了後、エクスプローラーを開いてディスクの空き容量が増えたことを確認しましょう

方法2:DISMコマンドでWinSxSのサイズを縮小する

2つ目の方法は、DISM(Deployment Image Servicing and Management)コマンドを使用するものです。DISMはWindowsイメージのマウントやサービス提供を行うためのコマンドラインツールで、コンポーネントストアの整理に非常に有効です。

  1. スタートメニューを左クリックし、「Windows PowerShell(管理者)」または「コマンドプロンプト(管理者)」を起動します。ここではコマンドプロンプト(管理者)を使用します。必ず管理者権限で実行してください。標準ユーザーアカウントでは動作しません
  2. 以下のコマンドを入力して Enter キーを押すと、WinSxSフォルダーのクリーンアップが開始されます
    dism.exe /online /Cleanup-Image /StartComponentCleanup
  3. 処理が完了したら、次に以下のコマンドを実行して、コンポーネントストア内のすべての置き換え済みバージョンを削除します。注意:このコマンドの実行後は、既存のサービスパックや更新プログラムをアンインストールできなくなります。ただし、将来のサービスパックや更新プログラムのアンインストールが妨げられることはありません
    dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase
  4. Windows Serverを再起動し、エクスプローラーで解放されたディスク容量を確認します

方法3:WinSxSから古いファイルを手動で削除する(取り扱い注意!)

3つ目の方法は、2016年~2018年頃にダウンロード・インストールされた古い更新ファイルを手動で削除するというものです。この方法を実行する前に、必ずシステムイメージのバックアップを取得するか、仮想マシンのスナップショットを作成してください。本番環境での実行は推奨しません。まずはテスト環境で、ファイル削除後にWindowsがどのように動作するかを確認することをおすすめします。

  1. Windowsキー + E を押してエクスプローラーを開きます
  2. C:\Windows へ移動し、WinSxS フォルダーを右クリックして「プロパティ」を選択します
  3. セキュリティ」タブをクリックし、「詳細設定」を押して特殊なアクセス許可の画面を開きます
  4. 所有者が「TrustedInstaller」と表示されている箇所の「変更」をクリックします
  5. 選択するオブジェクト名を入力してください」欄に、使用中のWindowsマシンで利用しているAdministratorアカウント名を入力し、「名前の確認」→「OK」をクリックします
  6. 「適用」をクリックします。「このオブジェクトの所有者を取得したばかりの場合は、アクセス許可を表示または変更する前に、このオブジェクトのプロパティを一度閉じて再度開く必要があります」というメッセージが表示されるので、指示に従ってください
  7. プロパティを開き直したら「編集」→「追加」をクリックし、再びAdministratorアカウント名を入力して「名前の確認」→「OK」を選択します
  8. 追加したアカウントを選択し、「フルコントロール」のアクセス許可にチェックを入れて許可します
  9. システムフォルダーのアクセス許可変更の警告が出たら「はい」をクリックします。その後「適用」→「OK」を押して、開いているウィンドウをすべて閉じます
  10. 古いファイルを削除します。今回のケースでは2016年~2018年のファイルをすべて削除し、約11GBのディスク領域を解放できました

まとめ

WinSxSフォルダーの肥大化は、長期間Windowsを使い続けている環境では避けて通れない問題です。まずは安全性の高い「ディスククリーンアップ」や「DISMコマンド」を試し、それでも容量不足が解消しない場合のみ、バックアップを徹底したうえで手動削除を検討しましょう。特に本番環境では、必ず事前にバックアップやスナップショットを取得することを忘れないでください。

  1. Windows 10でRAMの速度・容量・タイプを確認する6つの方法を徹底解説

    ソフトウェアやアプリが自分のPCで快適に動作するかどうかを知りたいとき、Windows 10に搭載されたRAM(メモリ)の種類・容量・速度といった技術仕様を確認したくなることがあります。 特にゲーマーやゲーミングPCユーザーの方なら、ゲームがスムーズに動くかどうかを事前に確かめるためにも、RAMの詳細情報を把握しておくことが大切です。この記事では、Windows 10でRAMの速度・容量・タイプを確認する方法を、初心者にもわかりやすい手順で詳しく解説します。 Windows 10でRAMの速度・タイプ・容量を確認する方法 RAMとは? RAM(ランダムアクセスメモリ)は、データやファイル、起

  2. 【Windows 10/8/7】WinSxSフォルダーのサイズを縮小する3つのクリーンアップ方法

    Windowsの「WinSxS」フォルダー(C:\Windows\WinSxS)は、「コンポーネント ストア」と呼ばれる重要なシステムフォルダーで、Windowsのカスタマイズや更新プログラムの管理に使用されます。そのため、このフォルダーを削除することはできません。 WinSxSフォルダーは、以下のような場面でWindowsによって利用されます。 Windows Updateをインストールするとき Windowsの機能を有効化・無効化するとき 問題のある更新プログラムをアンインストールするとき このフォルダーは時間の経過とともにサイズが大きくなっていきます。これは、新しいバージョンのコンポ