Windows10のCドライブ空き容量が毎日100〜200MBずつ減る原因と対策:System Volume Information/復元ポイント/pagefile.sysまで徹底解説

エクスプローラーを開くたびに C ドライブの空き容量が 100〜200MB ずつ目減りしていく——。原因が見えないまま再インストールに踏み切るのは最後の手段にしたいものです。本記事は、Windows 10 で起きがちな「毎日じわじわ減る空き容量」の正体を、可視化→切り分け→恒久対策の順で“再現可能”に突き止めるための実践ガイドです。管理者権限での操作手順やコマンド、運用のコツまで具体的に解説します。

目次

症状と背景:なぜ毎日 100〜200MB 減るのか

Windows 10 では、ユーザーの操作に見合う形でシステムが自動的に「復元ポイントの生成」「仮想メモリの再調整」「サムネイルキャッシュの更新」「Windows Update キャッシュの保存」などを行います。これらは多くが非表示の保護領域やシステムファイル(System Volume Informationpagefile.syshiberfil.sys など)に格納され、数百MB単位で容量が動くことがあります。さらに、エクスプローラーを開くたびに写真・動画のサムネイルを生成すると、thumbcache(サムネイルキャッシュ)が一気に増えるケースもあります。

つまり「毎回 100〜200MB 減る」現象の裏には、複数の仕組みが重なっています。本記事では最短手順で“どれが何MB増えているのか”を見える化し、必要最小限の設定変更で安定化させる方法を紹介します。

最短で原因特定:3 ステップの切り分けフロー

ステップ 1:全体を可視化(TreeSize Free/管理者)

  • ツールをインストール後、アイコンを右クリックして「管理者として実行」します(管理者起動でないと System Volume Information などが正確に読めません)。
  • C ドライブ直下をスキャンし、次のフォルダーのサイズをメモします:System Volume InformationC:\WindowsC:\ProgramDataC:\Users\<ユーザー>\AppData\Local\Microsoft\Windows\Explorer
  • 1〜2日後に再スキャンして差分を比較。「どこが何MB増えたか」を把握します。

ステップ 2:VSS(復元ポイント)と仮想メモリを数字で確認

管理者コマンドプロンプトまたは PowerShell(管理者)で次を実行して実際の使用量を数値化します。

vssadmin list shadowstorage


wmic pagefile list /format:list
Get-CimInstance Win32_PageFileUsage | Select-Object * | Format-List 

特に vssadmin で表示される「Used Shadow Copy Storage」が日々増えていれば、復元ポイントが原因の第一候補です。

ステップ 3:サムネイル・Update・インデックスを切り離して再現テスト

  • 一時的にサムネイル表示をオフ(後述)→ エクスプローラーを何度か開閉して容量変動が止まれば、thumbcache の肥大が原因。
  • Windows Update キャッシュをクリーン(後述)→ 変動が落ち着けば Update キャッシュが原因。
  • 検索インデックスを再構築(後述)→ Windows.edbの肥大が原因か切り分け。

原因 1:System Restore(復元ポイント)と System Volume Information

復元ポイントは更新プログラムやドライバー導入時などに自動作成され、System Volume Information 内に保存されます。適切な上限(最大使用量)を設定しないと、空き容量をじわじわ圧迫します。

GUI で上限を設定する

  1. Win + Rsysdm.cpl → Enter。
  2. 「システムの保護」 タブ → C: を選択 → 「構成」
  3. 「最大使用量」 のスライダーを調整(SSD 256GB なら 5〜10GB、512GB なら 10〜15GB を目安)。
  4. 古い復元ポイントを一括削除する場合は 「削除」 を実行。

コマンドで上限を固定する(精度重視)

vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=10GB


既存の使用量が上限を超えている場合、古いスナップショットから順に削除されます。上限をゼロにはしない(復元の保険が無くなる)ことを推奨します。

サイズの目安と推奨値

SSD 容量復元ポイントの最大使用量(推奨)理由
128GB3〜5GB空きがシビア。最低限の保険を確保。
256GB5〜10GB更新前後の復元を 2〜3世代保持可能。
512GB 以上10〜15GB余裕があれば 15GB でも可。

原因 2:pagefile.sys(仮想メモリ)と hiberfil.sys(休止ファイル)

pagefile.sys はメモリ圧力やクラッシュダンプ設定に応じて自動調整され、数百MB単位で変動します。hiberfil.sys は休止・高速スタートアップに使われ、サイズは搭載メモリの割合(通常 40% 〜 75% 程度)で確保されます。

仮想メモリの確認と調整

  1. Win + Rsysdm.cpl「詳細設定」「パフォーマンス」「設定」「詳細設定」「仮想メモリ」
  2. クラッシュダンプを 「小(256KB)メモリダンプ」 にすると必要なページファイル最小サイズが下がります。
  3. 基本は「システム管理サイズ」が推奨。固定化は断片化や不足のリスクがあるため、容量が極端にシビアな場合のみ実施。

休止ファイルの最適化/無効化

休止を使わないなら削除して空き容量を回復できます。高速スタートアップのみ維持したい場合はサイズ縮小(Reduced)も可能です。

powercfg /hibernate off


powercfg /h /type reduced 

後者は休止そのものは無効化しつつ、起動高速化のための最小限のファイルに縮小します。

原因 3:エクスプローラーのサムネイルキャッシュ(thumbcache

写真や動画の多いフォルダーを開くたびに、C:\Users\<ユーザー>\AppData\Local\Microsoft\Windows\Explorer 配下の thumbcache_*.db が膨らみます。大容量の画像・4K 動画を含むと、1 セッションで 100MB 以上増加することも珍しくありません。

一時的に増加が止まるか検証する(サムネイル表示をオフ)

  1. エクスプローラー → 表示 → オプション → 表示
  2. 「常にアイコンを表示し、縮小版は表示しない」 にチェック。
  3. 数回エクスプローラーを開閉して、空き容量の減少が止まるか確認。

サムネイルキャッシュのクリーンアップ

  • ディスク クリーンアップで「サムネイル」を選択して削除。
  • 再生成を抑制したい場合は、グループポリシー(gpedit.msc)→ ユーザーの構成管理用テンプレートWindows コンポーネントファイル エクスプローラー「隠し thumbs.db ファイルでの縮小表示キャッシュを無効にする」 を有効化。

原因 4:Windows Update/Delivery Optimization/コンポーネント ストア

更新プログラムは一時的に C:\Windows\SoftwareDistribution\DownloadDeliveryOptimization 配下に数百MB〜数GB を確保します。特に大規模アップデート直後は増減が激しく見えます。

安全な削除手順(クリーンアップ)

cleanmgr /sageset:1


cleanmgr /sagerun:1 </code></pre> <p>「Windows Update のクリーンアップ」「配信最適化ファイル」「一時ファイル」などにチェックを入れて実行します。より踏み込む場合は DISM を使用します(実行には時間がかかります)。</p> <pre><code>DISM /Online /Cleanup-Image /AnalyzeComponentStore
DISM /Online /Cleanup-Image /StartComponentCleanup </code></pre> <p>古いコンポーネントを削除して <code>WinSxS</code> を整理できます。<code>/ResetBase</code> はロールバック不可になるため通常は使いません。</p>

  </section>

  <section>
    <h2>原因 5:Windows 検索インデックス(<code>Windows.edb</code>)の肥大</h2>
    <p>検索インデックスは <code>C:\ProgramData\Microsoft\Search\Data\Applications\Windows\Windows.edb</code> に保存されます。大量のファイル/メールを取り込むと GB 単位で増加します。</p>


<h3>再構築(破損時の特効薬)</h3>
<ol>
  <li><strong>コントロール パネル → インデックスのオプション</strong>。</li>
  <li><strong>「詳細設定」</strong> → <strong>「再構築」</strong>。</li>
  <li>不要な場所(巨大なバックアップフォルダーなど)はインデックス対象から外します。</li>
</ol>


  </section>

  <section>
    <h2>原因 6:ログ/ダンプ/一時ファイルの積み上がり</h2>
    <p>トラブルが頻発している端末では、クラッシュダンプやエラーレポートが蓄積し、日次で 100MB 前後増えることがあります。代表的な場所は次のとおりです。</p>
    <table>
      <thead>
        <tr>
          <th>パス</th>
          <th>内容</th>
          <th>削除方法</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td><code>C:\Windows\Minidump</code> / <code>C:\Windows\MEMORY.DMP</code></td>
          <td>ブルースクリーンのダンプ</td>
          <td>ディスククリーンアップ(「システム エラーメモリ ダンプ ファイル」)</td>
        </tr>
        <tr>
          <td><code>C:\ProgramData\Microsoft\Windows\WER\</code></td>
          <td>エラー報告(Queue/Archive)</td>
          <td>ディスククリーンアップ(「Windows エラー報告ファイル」)</td>
        </tr>
        <tr>
          <td><code>C:\Windows\Logs\CBS\CBS.log</code></td>
          <td>コンポーネント サービスのログ</td>
          <td>DISM 実行後にサイズ縮小/ローテーション待ち</td>
        </tr>
        <tr>
          <td><code>C:\Windows\Temp</code>、<code>%TEMP%</code></td>
          <td>各種一時ファイル</td>
          <td>設定 → システム → 記憶域 → 一時ファイル</td>
        </tr>
      </tbody>
    </table>


<h3>サイズの大きいログ・ダンプを素早く見つける PowerShell</h3>
<pre><code># 管理者 PowerShell


Get-ChildItem C:\ -Include *.dmp,*.hdmp,*.log -File -Recurse -ErrorAction SilentlyContinue |
Sort-Object Length -Descending | Select-Object FullName,@{n='SizeMB';e={[math]::Round($_.Length/1MB,1)}} -First 30 </code></pre>

  </section>

  <section>
    <h2>原因 7:バックアップ、セキュリティ、同期クライアントのキャッシュ</h2>
    <p>ウイルス対策ソフトの隔離領域、クラウド同期(OneDrive など)の一時キャッシュ、バックアップの差分控えが <code>C:\ProgramData</code> 以下に蓄積することがあります。TreeSize で <code>ProgramData</code> に増加が集中していないか確認し、製品側のキャッシュ上限や履歴保持設定を見直しましょう。</p>
  </section>

  <section>
    <h2>「$Recycle / system32 / …」と表示される理由</h2>
    <p>スキャン結果に <strong>「$Recycle / system32 / …」</strong> のような表示が現れても、実体として「<code>System32</code> の中にごみ箱がある」わけではありません。ごみ箱は各ドライブ直下の <code>C:\$Recycle.Bin</code> にあり、サブフォルダーは SID(ユーザーごと)で分かれます。スキャナーや 32bit プロセスのファイルシステムリダイレクト、ジャンクション(再解析ポイント)などの影響で、仮想的なパスや別名で見える場合があります。</p>
    <p>実際に空であることを確認するには、ごみ箱をリセットします(保存中のファイルが完全削除されますので注意)。</p>
    <pre><code>rd /s /q C:\$Recycle.Bin
</code></pre>
    <p>これで項目は再生成されますが、容量はゼロに近い状態から再スタートします。表示上のパスが紛らわしいだけで、空にしている限り通常は問題ありません。</p>
  </section>

  <section>
    <h2>安全に実行できるクリーンアップと最適化の早見表</h2>
    <table>
      <thead>
        <tr>
          <th>目的</th>
          <th>操作</th>
          <th>手順・コマンド</th>
          <th>注意点</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>復元ポイントの上限制御</td>
          <td>システムの保護(GUI)</td>
          <td><code>sysdm.cpl</code> → 「システムの保護」 → C: → 「構成」 → 最大使用量 5〜15GB</td>
          <td>上限ゼロ(無効)は非常時に復元できない</td>
        </tr>
        <tr>
          <td>VSS の上限を数値指定</td>
          <td>コマンド</td>
          <td><code>vssadmin Resize ShadowStorage /For=C: /On=C: /MaxSize=10GB</code></td>
          <td>古いスナップショットから削除</td>
        </tr>
        <tr>
          <td>休止ファイルの削除/縮小</td>
          <td>コマンド</td>
          <td><code>powercfg /hibernate off</code> / <code>powercfg /h /type reduced</code></td>
          <td>休止が使えなくなる(reduced は高速起動維持)</td>
        </tr>
        <tr>
          <td>Windows Update キャッシュ削除</td>
          <td>ディスク クリーンアップ</td>
          <td><code>cleanmgr /sageset:1</code> → 実行項目選択 → <code>cleanmgr /sagerun:1</code></td>
          <td>再起動後に再度最適化される場合あり</td>
        </tr>
        <tr>
          <td>コンポーネント ストアの整理</td>
          <td>DISM</td>
          <td><code>DISM /Online /Cleanup-Image /StartComponentCleanup</code></td>
          <td>長時間かかることがある</td>
        </tr>
        <tr>
          <td>サムネイルキャッシュ掃除</td>
          <td>ディスク クリーンアップ</td>
          <td>「サムネイル」にチェックして実行</td>
          <td>再度フォルダーを開くと再生成</td>
        </tr>
        <tr>
          <td>検索インデックス再構築</td>
          <td>GUI</td>
          <td>コントロール パネル → インデックスのオプション → 詳細設定 → 再構築</td>
          <td>一時的に検索が遅くなる</td>
        </tr>
        <tr>
          <td>ごみ箱のリセット</td>
          <td>コマンド</td>
          <td><code>rd /s /q C:\$Recycle.Bin</code></td>
          <td>ごみ箱内のファイルが完全削除</td>
        </tr>
      </tbody>
    </table>
  </section>

  <section>
    <h2>日次の変動を「見える化」する:ログ収集と比較</h2>
    <p>“気付いたら減っていた”を防ぐには、空き容量の推移を数字で残すのが有効です。以下のスクリプトで 1 分ごとに C: の空き容量を CSV に記録できます(停止は Ctrl+C)。</p>
    <pre><code># 管理者 PowerShell
$log = 'C:\Temp\FreeSpaceLog.csv'
New-Item -ItemType Directory -Force -Path (Split-Path $log) | Out-Null
"Timestamp,FreeMB" | Out-File $log -Encoding utf8
while ($true) {
  $freeMB = [math]::Round((Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'").FreeSpace / 1MB, 0)
  "$((Get-Date).ToString('s')),$freeMB" | Add-Content $log -Encoding utf8
  Start-Sleep -Seconds 60
}

TreeSize のスキャン結果とこのログを並べると、「いつ」「どのフォルダー」が増えたかが一目で分かります。

運用の型:再インストールを避けるための習慣化

  • 毎月 1 回:ディスククリーンアップ(/sagerun プロファイルで自動化)。
  • 四半期ごとSystem Volume Information のサイズ確認と上限見直し。
  • 大規模更新後:DISM でコンポーネントストアの整理。
  • 写真・動画が多い運用:サムネイルキャッシュの抑制(ポリシー)か、表示切替を習慣化。
  • ログが肥大化しやすい環境:ミニダンプ設定/エラーレポートの定期清掃をスケジュール化。

高度な切り分け:どのプロセスが書き込んだかを突き止める

“どのプロセスが容量を消費させたのか”まで掘る場合は、以下のアプローチが有効です。

  • リソース モニターresmon.exe)→「ディスク」タブで書き込みの激しいプロセスとファイルパスを確認。
  • Process Explorer(管理者)→ Find > Find Handle or DLL で、増加が疑われるフォルダー名(例:Windows.edbthumbcache)を検索。
  • Process Monitor(管理者)→ フィルタ「Process Name is explorer.exe」「Operation is WriteFile」で、エクスプローラーがどのパスに書き込んだかをリアルタイム観測。

これらのツールで「増えた瞬間の書き込み先」を特定すると、以降の対策が短時間で決まります。

よくある質問(FAQ)

Q. 日々 100〜200MB の増減は異常?

A. 復元ポイント・仮想メモリ・サムネイル生成などの通常動作で発生し得ます。GB 単位の急激な減少や、明らかな用途が無いのに複数日連続で増え続ける場合は、TreeSize で増加箇所を特定しましょう。

Q. 復元ポイントを無効化しても良い?

A. 可能ですが、トラブル時の保険がなくなります。無効化ではなく上限を適正化するのが推奨です。

Q. 休止ファイルは削除すべき?

A. 休止を使わない運用なら削除で構いません。高速スタートアップだけ維持したい場合は powercfg /h /type reduced を選ぶと効果と容量のバランスが取れます。

Q. サムネイルを無効にすると不便。

A. 常時無効化せず、容量増加が顕著な時期のみ切り替える運用でも構いません。巨大メディアフォルダーだけ「アイコン表示」にする手もあります。

Q. 「$Recycle / system32 / …」が怖い。

A. 表示上の別名・仮想パスに過ぎないことが多く、空のごみ箱なら実害はありません。気になる場合は rd /s /q C:\$Recycle.Bin でリセットし、再発有無を観察しましょう。

チェックリスト:これだけはやっておく

  • TreeSize(管理者)で「どこが何MB増えたか」を記録。
  • vssadmin list shadowstorage で VSS 使用量を確認し、上限を 5〜15GB に設定。
  • ディスク クリーンアップ(sageset/sagerun)を定期実行。
  • 必要なら powercfg /h /type reduced で休止ファイルを縮小。
  • サムネイル表示の切替で thumbcache の増加を抑制。
  • 検索インデックス(Windows.edb)が肥大していたら再構築。

ケーススタディ:再インストール無しで安定化させる流れ

ある 256GB SSD のノート PC で、エクスプローラー起動ごとに 150MB 程度減少。TreeSize で Explorer 配下の thumbcache が 2 日で 1.2GB 増加していると判明。サムネイルを一時オフ+クリーンアップで 1.2GB 回復、以後は写真フォルダーのみ「アイコン表示」に切替。並行して VSS 上限を 8GB に設定し、Update 直後の増減も 500MB 程度に収束。再インストール無しで安定化できました。

トラブル時のセーフティ:ロールバック手段を確保する

  • 復元ポイント:上限を削りすぎず、最低 2〜3 世代は保持。
  • システム イメージ:外付けドライブに定期取得しておくと、万一の誤削除にも強い。
  • ユーザーデータのバックアップ:容量整理の前後で必ず実施。

まとめ:再現性のある「見える化」と上限制御で解決する

毎日 100〜200MB の空き容量減少は、Windows の正常な自動処理(復元ポイント・仮想メモリ・サムネイル・更新キャッシュなど)でも起こり得ます。闇雲な削除や再インストールではなく、まずは TreeSize での可視化と、vssadminpowercfg/ディスククリーンアップ/インデックス再構築といった再現性のある手順で原因を番号付きで潰していきましょう。特に System Volume Information の上限制御(5〜15GB 目安)とサムネイル対策は効果が大きく、ほとんどのケースで日次の減少が収まります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次