Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

この記事では、 WinSxSについて説明します。 Windowsのフォルダ、その絶え間ない成長の理由とそれをクリーンアップする方法。 C:\ Windows \ WinSxS ディレクトリは、Windowsコンポーネントのリポジトリです。このディレクトリには、さまざまなWindowsの役割または機能のインストールと操作に必要なDLL、バイナリファイル、およびXMLファイルが含まれています。 Windows Updateをインストールすると(通常、これは毎月行われます)、更新されたコンポーネントの新しいバージョンがシステムにインストールされ、古いバージョンはWinSxSフォルダーに保存されます(互換性を提供し、にロールバックできるようにする必要があります) Windows Updateをアンインストールするときのコンポーネントの以前のバージョン)。

WinSxSディレクトリのサイズは時間の経過とともに大きくなりました。さらに、そのサイズは何によっても制限されません(ただし、実際には、Windows 10のWinSxSフォルダーのサイズが15〜20 GBを超えることはめったにありません)。

Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

この記事では、Windows10およびWindowsServer2016/2019でWinSxSフォルダーをクリーンアップする最も安全な方法について説明します。

  • コンポーネントストアを最適化する WindowsUpdateのインストール後に残った古いバージョンのWindowsコンポーネントファイルを削除します。
  • オンデマンド機能 –未使用のWindowsコンポーネントをディスクから削除できます。
  • NTFS圧縮を有効にする WinSxSフォルダ上– NTFSファイルシステムの組み込み圧縮を使用して、WinSxSディレクトリのサイズを縮小する方法。
多くのユーザーからよく尋ねられます。WinSxSフォルダからファイルを手動で削除できるかどうか。答えは断固としていいえです !これらのアクションは、Windowsイメージに損傷を与える可能性があります。 WinSxSフォルダーからファイルを削除する試みは成功する可能性がありますが、この方法はお勧めできません。

Windows 10でWinSxSフォルダーの実際のサイズを確認するにはどうすればよいですか?

WindowsでWinSxSフォルダーの現在のサイズを取得する最も簡単な方法は、%windir%\WinSxSのプロパティを開くことです。 ファイルエクスプローラーのフォルダー(またはPowerShellスクリプトを使用)。ただし、ほとんどのファイルマネージャー(ファイルエクスプローラーを含む)は、ディスクよりもわずかに大きいWinSxSフォルダーサイズを表示することに注意してください。

実際のところ、WinSxSディレクトリには多数のハードリンクが含まれています (シンボリックリンク)他のフォルダ内のシステムファイルへ。ファイルマネージャーは、WinSxSフォルダーのサイズを計算するときに、ハードリンクによって参照されるファイルのサイズを考慮に入れますが、これは正しくありません。

du を使用して、ディスク上のWinSxSフォルダーの実際のサイズを確認できます。 Sysinternalsのツール:
du -v c:\windows\winSXS
Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

DISMコマンドを使用して、コンポーネントストア(WinSxSフォルダー)のサイズを分析することもできます。

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

Deployment Image Servicing and Management tool
[==========================100.0%==========================]
Component Store (WinSxS) information:
Windows Explorer Reported Size of Component Store : 8.44 GB
Actual Size of Component Store : 8.15 GB
Shared with Windows : 5. 74GB
Backups and Disabled Features : 1.97 GB
Cache and Temporary Data : 438.31 MB
Date of Last Cleanup : 2021-02-22 20:37:29
Number of Reclaimable Packages : 1
Component Store Cleanup Recommended : Yes
The operation completed successfully.

ご覧のとおり、この場合、WinSxSフォルダーのサイズを(1,97 + 0,44)Gb減らすことができます。

DISMコマンドを使用すると、Windowsイメージを確認および修復することもできます。

DISM /Online /Cleanup-Image /RestoreHealth

Windowsでコンポーネントストア(WinSxSフォルダー)をクリーンアップする方法

Windowsコンポーネントストア(WinSxSフォルダー)をクリアする最も速くて簡単な方法は、次のコマンドを使用してストレージを最適化することです。

Dism.exe /Online /Cleanup-Image /StartComponentCleanup

Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

StartComponentCleanup DISMオプションは、Windows8およびWindowsServer2012以降のすべてのWindowsバージョンでサポートされています。

クリーニングが完了したら、コンポーネントストアの現在のサイズを確認します。

Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore

私の例では、これによりWinSxSフォルダーのサイズが2.4GB減少しました。

/StartComponentCleanup オプションには追加の/ResetBase があります WindowsUpdateのインストール後に残った以前のバージョンのコンポーネントをすべて削除できるオプション。その後、インストールされているアップデートやサービスパックを削除できなくなり、アンインストール アップデートのアンインストールからボタンが消えます コントロールパネルアイテム)。古いバージョンのコンポーネントをクリーンアップするには、次を実行します:

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

Windows7およびWindowsServer2008 R2では、追加のDISMオプションを使用して、サービスパックのインストール後に残った古いバージョンのコンポーネントをクリーンアップしました。

DISM /online /Cleanup-Image /spsuperseded

「ディスククリーンアップ」ウィザードを使用して古い更新ファイルを削除することもできます:

  1. cleanmgrを実行します 管理者としてのコマンド;
  2. ディスクを選択し、次のウィンドウで[システムファイルのクリーンアップ]をクリックします " ボタン; Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?
  3. 次に、「WindowsUpdateのクリーンアップ」を選択します " オプション。ディスククリーンアップツールは、古いWindowsUpdateファイルを削除することで解放できるスペースの量を示します。私の例では、これは324MBです。 [OK]をクリックしてクリーンアップを開始します。 Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

DISMを使用してコンポーネントストアのクリーンアップを完了したら、解放されたディスク領域の量を確認します。
さらに、Windows 10 / Windows Server 2016タスクスケジューラには、WinSxSフォルダーを定期的に最適化してクリーンアップする特別な自動メンテナンスタスクがあります。 (StartComponentCleanupパラメーターを使用したDISMと同じ操作)。このStartComponentCleanup タスクは、taskschd.mscの\Microsoft\ Windows\Servicingセクションにあります。 。このタスクはバックグラウンドで実行され、新しいファイルに置き換えられた30日より古いコンポーネントバージョンを自動的に削除します。

このタスクは、次のように手動で開始できます。

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

Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

Windows 10 /WindowsServerから未使用の役割と機能を削除する

前回の記事では、機能オンデマンドの概念について説明しました。 Windowsの場合、WinSxSフォルダーから未使用の役割のバイナリファイルを削除できます。 Uninstall-WindowsFeature PoweShellコマンドレットを使用して、WindowsServer上の役割と機能のバイナリを削除できます。

Windows 10にはUninstall-WindowsFeatureコマンドレットがないため、Windowsイメージから機能を削除するにはDISM.exeを使用する必要があります。

Uninstall-WindowsFeatureとは異なり、DISMに注意してください。 PowerShellコマンドレット。依存する機能は削除されません。

Windows 10イメージで使用可能な機能の完全なリストは、次のコマンドを使用して取得できます。
DISM.exe /Online /English /Get-Features /Format:Table
Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

たとえば、 TelnetClientを削除するには Windowsイメージ(WinSxSフォルダーから)から機能を実行するには、次のコマンドを実行します:
DISM.exe /Online /Disable-Feature /Featurename:TelnetClient /Remove
Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

Windowsで利用可能なすべてのオンデマンド機能のリストを表示すると、コンポーネントのステータスがペイロードが削除された状態で無効に変更されたことがわかります。 。

したがって、Windowsでは、ディスクから未使用のコンポーネントを削除することにより、WinSxSフォルダーのサイズを大幅に縮小できます。唯一のことは、このクリーンアップ方法は、Windows10の機能とその目的に精通している上級ユーザーにのみ適しているということです。

Windows10のWinSxSフォルダでNTFS圧縮を有効にする方法

Windows 10でWinSxSディレクトリのサイズを縮小する別の方法は、NTFSファイルシステムのレベルでディレクトリの内容を圧縮することです。

注。 システム構成への非標準的な介入の場合と同様に、Windows10イメージの完全バックアップを作成することを強くお勧めします。
  1. 管理者としてコマンドプロンプトを開きます;
  2. Windowsインストーラーを停止して無効にします およびWindowsモジュールインストーラー サービス:
    sc stop msiserver
    sc stop TrustedInstaller
    sc config msiserver start= disabled
    sc config TrustedInstaller start= disabled
  3. 組み込みのicaclsツールを使用して、WinSxSディレクトリ内のファイルとフォルダに割り当てられたアクセス制御リスト(ACL)をバックアップしましょう。 ACLのバックアップコピーは、すべてのファイルとディレクトリ、およびそれらに割り当てられたNTFSアクセス許可を一覧表示するプレーンテキストファイルです(後で、このファイルは元のACLを復元するために必要になります):
    icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS_NTFS.acl" /t
    Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?
  4. WinSxSフォルダーとそのすべてのサブフォルダーの所有者として自分自身を割り当てます:
    takeown /f "%WINDIR%\WinSxS" /r
  5. WinSxSディレクトリに対するアカウントのフルコントロール権限を付与します:
    icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
  6. コンパクトを使用してWinSxSディレクトリ内のファイルを圧縮できるようになりました 指図。一部のファイルはWindowsで使用できるため、/iを指定する必要があります オプション。それ以外の場合、圧縮は最初にロックされたファイルで停止します(Windows 10では、より高度なLZX圧縮を使用できます):
    compact /s:"%WINDIR%\WinSxS" /c /a /i *
    Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?
  7. WinSxSディレクトリの所有者をTrustedInstallerに戻します:
    icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
  8. 前に作成したACLバックアップファイルを使用して、WinSxSフォルダアイテムの元のACLを復元します。
    icacls "%WINDIR%" /restore "%WINDIR%\WinSxS_NTFS.acl"
  9. WindowsインストーラーおよびWindowsモジュールインストーラーサービスのデフォルトのスタートアップタイプを復元します。
    sc config msiserver start= demand
    sc config TrustedInstaller start= demand

次に、WinSxSフォルダーの現在のサイズを確認します。

Windows 10 / Windows ServerでWinSxSフォルダーをクリーンアップして圧縮する方法は?

ご覧のとおり、この例では、圧縮後のWinSxSフォルダーのサイズが 9.4GBから減少しています。 6.5GB (約3分の1)。特に小型のSSDドライブの場合は悪くありません。

これらのコマンドは、個別に実行することも(それぞれの結果を追跡する方がはるかに簡単です)、単一のスクリプトファイルで使用することもできます。これを実行すると、WinSxSフォルダー内のアイテムに対して説明されている圧縮手順が開始されます。すぐに使用できるバッチファイルをダウンロードして、WinSxSでNTFS圧縮を有効にすることができます: winsxs_ntfs_compress.bat

新しいWindowsUpdateまたはアプリをインストールすると、新しい非圧縮ファイルがWinSxSフォルダーに表示されるため、このスクリプトを定期的に使用できます。

WinSxSフォルダーを圧縮すると影響を受ける可能性があるもの ? Windowsは、圧縮ファイルを透過的に処理します。ただし、そのようなファイルを処理する場合、それらを解凍/圧縮するために追加のCPU時間がかかる場合があります。これにより、Windowsコンポーネントまたは更新プログラムのインストール時にわずかな速度低下が発生する可能性があります。ただし、最近のCPUでは、ファイルの圧縮/解凍操作がほぼ瞬時に実行されるため、ユーザーはパフォーマンスへの実際の影響に気付かない場合があります。


  1. Windows.old フォルダとその削除方法

    Windows.old Windows を以前のエディションから別のエディションにアップグレードするとき (たとえば、システムを Windows 7 から Windows 8.1 に、または Windows 7/8.1 から 10 にアップグレードするとき)、または Windows 10 を新しいビルドで更新するとき (たとえば、 Creators Update V1703 または Fall Creators Update v1709)。 「C:\Windows.old フォルダー」には、すべての Windows システム ファイルが含まれており、場合によっては、以前の Window

  2. Windows 10/8/7 OS で WinSXS フォルダのサイズを縮小する方法

    このチュートリアルでは、Windows 10/8 &7 OS で WinSXS フォルダーのサイズを縮小する方法を紹介します。 WinSxS フォルダー (C:\Windows\WinSxS) は、Windows のカスタマイズと更新に使用されるコンポーネント ストアの場所です。 そのため、WinSxS フォルダーは非常に重要なシステム フォルダーであり、いくつかの理由で Wi​​ndows によって使用されるため、削除できません。 (例:Windows Update をインストールするとき、Windows 機能を有効または無効にするとき、問題のある更新をアンインストールするときなど) 時