私のWindows11のCドライブは、空き容量が減り続けていました。
しかし、実際に保存されているファイルと表示を照らし合わせても、どうにも計算が合いません。従来のクリーンアップツールも試してみたのですが、期待したような結果は得られませんでした。
ところが、あるコマンドをたった1つ実行しただけで、存在すら知らなかった11GBものストレージ領域があっという間に戻ってきたのです。
それ以来、ストレージが圧迫されて個人データを手放せないとき、私が絶対に最初に行う定番コマンドになりました。
【今日のワークハックはこんな人におすすめ!】
エクスプローラーには映らない「シャドウストレージ」の正体

私はまずターミナルを立ち上げ、vssadmin list shadowstorage というコマンドを実行してみました。すると、これまで一度も確認したことがなかった3つの数字が画面に現れました。
その3つの中で最も重要だったのが、「Used(使用量)」という項目です。私の端末では、ここが11.47GBと表示されていました。
この数値は、シャドウコピーが実際にドライブ内で占有しているリアルな容量を示しています。
シャドウコピー
パソコンにトラブルが起きた際、過去の状態へ戻せるようにWindowsが裏で作っている「バックアップデータ」を保存すること。
「Allocated(割り当て量)」は12.03GBと少し高めで、これはシャドウコピー用に現在割り振られている領域です。
つまり、実際に容量を食いつぶしていた元凶は「Used」の数字だったわけです。私のSSDは約500GBなので、11GBというのはかなりの大物。
恐ろしいことに、これらの数値はFile Explorerや「ディスク クリーンアップ」の画面には一切表示されません。
本当の全体像を把握するには、管理者権限でターミナルを立ち上げるしかなかったのです。
数ギガバイトの正体は「復元履歴」だった

こうしたシャドウコピーは、Windows Updateの実行時や特定のアプリをインストールする際などに作成されますが、手動で作成することも可能です。
ただ、古い復元ポイントは想定以上に長くシステム内に残り続け、じわじわと「Used」の容量を増やしていきます。
「Used」の数値が高いのは、それだけシャドウコピーがドライブを圧迫しているということです。
「Maximum」項目を大きく設定しておけば、Windowsはより長い復元履歴を保持できます。逆に数値を小さくすれば、復元履歴は減るものの、ドライブの空き容量はその分増えるわけです。
上限サイズを変更し、一瞬で11GBを取り戻す

私が実際に実行したコマンドがこちらです。
vssadmin resize shadowstorage /for=C: /on=C: /maxsize=2GB
/forと/onフラグで対象のボリュームを指定し、/maxsizeで適用したい上限サイズを設定しています。このコマンドはファイルを直接削除するのではなく、サービスが使用できる最大容量の上限を書き換えるだけのものです。
ただし上限を下げると、システムは古いシャドウコピーから順に破棄していきます。
コマンド完了後、再び vssadmin list shadowstorage を実行して、作業前の数値と比較してみました。
私の環境では「Used」が11.47GBから0.42GBへと急減し、ほんの数秒でCドライブに約11GBの空きが生まれました。
もちろん、この数値は環境によって異なります。別のPCで試したときは5GBほどしか空きが出ませんでした。
ですが、最初の「Used」の値が大きい場合は、かなりのストレージを取り戻せる可能性が高いはずです。
引き換えになるのは「過去の復元履歴」
このコマンドを実行したことで、古いシャドウコピーは消去されました。直接的なデメリットは、以前よりも過去の状態へロールバックできる履歴が減るということです。
しかし、容量が破綻しかけていた私にとっては、追加の費用もかけず、大切なデータを消さずに済む非常に価値ある選択でした。
今回は上限を2GBに設定しましたが、この数値をそのまま真似する必要はありません。まずはご自身の「Used」の数値を確認してみてください。


コメント