【Windows 11】VSS(ボリュームシャドウコピー)コマンドで容量削減できる?謎領域トラブルでコマンドが使えなかった技術的理由

みなさん、こんにちは。

以前の記事で、突然Cドライブが枯渇し、最終的にインプレースアップグレードで復旧させた一部始終をお届けしました。

記事公開後、LIFEHACKERの記事で「vssadmin コマンドでシャドウコピーの上限(maxsize)を制限すれば、ファイルを消さずに数GB〜数十GBの空き領域を即座に確保できる」というテクニックを目にしました。

参考:すぐに11GBも復活。Windows11の容量を圧迫する隠れデータの消し方(LIFEHACKER)

「ひょっとして、あの時のトラブルもインプレースアップグレードなんて大掛かりなことをせず、コマンド1行で解決できたのでは……?」

そう疑問に思い、改めて「ボリュームシャドウコピー(VSS)の仕組み」「容量削減コマンド」「なぜ前回のトラブルでは効かなかった(使えなかった)のか」について深掘り・検証を行いました。今回はその備忘録です!


ボリュームシャドウコピー(VSS)とは?

ボリュームシャドウコピー(Volume Shadow Copy Service:VSS)とは、Windowsがバックグラウンドで動作させているシステムの復元ポイントやファイル履歴を自動保存する仕組みです。

  • 役割
    • システム更新時や定期スケジュールで、Cドライブの「変更前の状態(差分)」をスナップショットとして保持。
  • メリット
    • 誤ってファイルを上書き・削除した際や、システムトラブル時に過去の状態へ巻き戻せる。
  • デメリット
    • 放置すると差分データが蓄積され、ストレージ容量をじわじわと圧迫する。

通常、VSSは指定された「最大割り当て容量(maxsize)」の範囲内でやりくりされますが、何らかの拍子に上限いっぱいまでデータを溜め込んでしまうことがあります。


正常な状態なら効果絶大!vssadmin による領域削除・制限コマンド

正常に機能しているVSS領域が容量を圧迫している場合、以下のコマンドを使えばファイルを何一つ削除することなく一瞬で空き容量を爆発的に増やせます。

※コマンドプロンプト(管理者として実行)での使用を推奨します。

  1. 現在のシャドウコピーの使用状況を確認する

    vssadmin list shadowstorage


    これで「使用中の領域」「割当領域」「最大領域」が一覧表示されます。ここで数十GBなどが消費されている場合はVSSの肥大化が原因です。
  2. シャドウコピーの上限(maxsize)を強制的に制限する

    vssadmin resize shadowstorage /for=C: /on=C: /maxsize=5GB

    上限を小さく(例:5GB)設定し直すことで、溢れていた古い復元ポイントをシステムが自動的に破棄し、空き容量として即座に解放してくれます。
  3. 古い復元ポイントを一括削除する

    vssadmin delete shadows /for=C: /oldest

    全削除したい場合は /all オプションを使用します。

なぜ前回のトラブルではこのコマンドが使えなかったのか?

コマンドで消せるなら、なぜ前回のトラブルでインプレースアップグレードが必要だったのでしょうか?

それは、前回発生していたのは「単に復元ポイントが溜まっていた現象」ではなく、「クラッシュによってVSSの管理データベースとファイルシステム(NTFS)が物理的・論理的に壊れていた現象」だったためです。

  1. 救済用データ(VSS)自体がクラッシュで巻き添え破損した
    • VSSはシステムを保護するための仕組みですが、それ自体もCドライブ上に書き込まれるソフトウェアデータです。
    • 前回、復旧作業の直前に「画面が突然真っ黒になるブラックスクリーン(突然の強制終了)」が2回発生していました。
    • まさにVSSが差分データをディスクに書き込んでいる最中に電源が断ち切られたことで、「書き込み途中の中途半端な差分データ」や「リンクが切れた管理インデックス」がCドライブ上に置き去りになったと考えられます。
  2. 管理情報が壊れて vssadmin コマンドが効かなくなった
    • vssadmin は「正常に管理されているVSSデータ」を操作するツールです。VSSの管理データベース(元データと差分データの対応表)自体が破損すると、OSはそれを「正常なシャドウコピー」として認識できなくなります。
    • 結果として
      ・vssadmin を実行しても「削除対象が見つからない」とエラーになる
      ・コマンド自体は正常終了しても、リンクの切れた「孤立データ(漂流領域)」は解放されない
      という状態に陥ります。
  3. 「計算上の数値」と「実際のファイル」が剥離していた
    • 前回のトラブルで最も奇妙だったのは以下の点でした。
      ・Cドライブのプロパティでは容量が残り7GBと表示される
      ・設定アプリでは「一時ファイル 82GB」「その他 148GB」と巨大な数値が出る
      ・しかし、実際のフォルダ(Hyper-VのVHDXやWSL、WindowsAppsなど)を手動でどれだけ計算しても数値が全く合わない
    • これは、ファイルシステムのインデックス(NTFSメタデータ)とVSSの管理領域が不整合を起こし、OSが「実体はないのに領域だけが使用中になっている」と誤認識していた決定的な証拠です。

インプレースアップグレードが「特効薬」となった技術的背景

通常、chkdsk(ディスクチェック)でも修復しきれないレベルのNTFSメタデータ破損やVSSサービス全体の不整合が起きると、クリーンインストールしか手がありません。しかし、インプレースアップグレード(上書きインストール)を行うと、以下の処理が裏で実行されます。

  1. OSコアとファイルシステム管理領域の再構築
    既存の個人データやアプリを維持したまま、OSのシステムファイルおよびNTFSのメタデータ構造、VSSサービスを初期状態へ再構築する。
  2. 正常なデータのみを抽出・分離
    破損して追跡不能になっていた「漂流データ領域」は切り捨てられ、正常と認識できるデータのみが新システム(および Windows.old)へと引き継がれる。

この場合、インプレース完了後、クリーンアップ機能で Windows.old を削除すれば、旧システムの破損領域ごと綺麗な空き容量(200GB超)として露出させることができます。


トラブルの性質に応じた正しいアプローチを採用しよう

今回、VSSの肥大化対策コマンドを改めて調査・検証したことで、前回のトラブルの異質さがより明確になりました。

症状・状況原因最適な対処法
ファイル数は合っているが、徐々に容量が減っている通常のVSS(復元ポイント)蓄積vssadmin コマンドで maxsize 制限・削除
強制終了後に発生、見えない謎の巨大容量があり計算が合わないクラッシュによるVSS/NTFSの論理破損インプレースアップグレード(またはクリーンインストール)

「普段のPCメンテナンス」としては vssadmin による容量制限テクニックは非常に有用です。しかし、クラッシュや強制終了が引き金となって発生した「実体のない容量不足」においては、手動コマンドに頼らずインプレースアップグレードでシステム構造ごと修復した判断が結果として大正解でした。

もしみなさんのPCで「計算がどうしても合わないストレージトラブル」が発生した場合、単なる容量肥大化なのか、ファイルシステムの不整合なのかを見極める際の参考にしてみてください!


今回のような検証、「うちの環境ではどうなんだろう?」と気になった方はいませんか。

ビューローみかみでは、構想段階の壁打ちからPoC・実装・現場導入まで、現場で「使い続けられる」ものづくりを支援しています。 

技術顧問サービスでは、本記事のような技術的な質問・検証にも継続的にお答えしています。「相談したら契約」ということはありません。システムを作らない判断も含めて、率直にお話しします。

▶ 技術顧問サービスの詳細はこちら

気になることがあればお気軽にご相談ください。

本日も最後までお読みいただきありがとうございました。

それでは、よいWindowsライフを!

カテゴリ: Tips

コメントする

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

上部へスクロール