「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。 |
---|
Dism.exeで直接クリーンアップを実行する
Windows XPの時代からMicrosoftは、カスタマイズや更新に必要な機能をサポートする「コンポーネントストア」という仕組みをOSに実装している。破損したシステムファイルの復元や、問題が発生した更新プログラムのアンインストールなどに用いられるため、OSの安定性を向上させる上で重要な存在だ。
問題はコンポーネントストアの容量だ。そこで、コンポーネントストア(WinSxS)フォルダーを、Dism.exeを使って手動クリーンアップしてみよう。
WinSxSフォルダーの実体は「%SystemRoot&\WinSxS」フォルダーだが、Windows 10 Insider Previewを選択しているデスクトップPCでプロパティダイアログを開くと、約6.25GBと示されている。だが、これは正しい数字ではない。詳細な数字を確認するには、管理者権限を持つコマンドプロンプト上で「Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore」を実行する。
上図のように、環境によって数値は違うが、WinSxSフォルダーは基本的に自動メンテナンスされる。「タスクスケジューラ」の「タスクスケジューラライブラリ\Microsoft\Windows\Servicing」に登録された「StartComponentCleanup」が、コンポーネント更新30日後に不用になった古いコンポーネントを削除しているのだ。
「タスクスケジューラライブラリ\Microsoft\Windows\Servicing」の「StartComponentCleanup」を確認すると、仮想マシン上のWindows 10はタスク実行に失敗していた |
この処理を手動で実行するには、タスクを手動実行しても構わないが、管理者権限を持つコマンドプロンプト上で「Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase」を実行すればよい。各パラメーターも紹介しておこう。
「StartComponentCleanup」は、更新済みコンポーネントを除く古いコンポーネントをすべて削除する。こちらの場合は30日の猶予などは考慮されない。「ResetBase」は各コンポーネントに対する古いバージョンをすべて削除するというもの。いずれも、ストレージ空き容量の確保という目的には合致する。
「Dism.exe /Online /Cleanup-Image /StartComponentCleanup /ResetBase」を実行した状態。コンポーネントストアサイズが先の8.78GBから6.46GBまで縮小した |
ただし、前述のタスクが定期的実行されていない環境では、処理完了までに結構な時間を要する場合もあるので、時間に余裕があるときに試していただきたい。
阿久津良和(Cactus)