- 技術 💻
Cドライブの容量不足を解消する方法|ディスク クリーンアップと消してよいもの
結論
Cドライブの容量不足は、「スタート」→「設定」→「システム」→「ストレージ」を開き、一時ファイルと「クリーンアップの推奨事項」から消せるものを消すのがいちばん手早い方法です。Windows 11 は「クリーンアップの推奨事項」にまとまっていて、Windows 10 は同じ「ストレージ」の画面の一時ファイルやストレージ センサーの設定から消します。消したあとは「ごみ箱」を空にしないと空き容量は増えません。
この記事でわかること
- 空き容量の確かめ方と、一時ファイル・ストレージ センサー・ディスク クリーンアップの公式の手順(11・10 の違いつき)
- Windows.old・ダウンロード・ごみ箱・WinSxS など「消してよいもの・消さないもの」の判断表
- 大きいフォルダーを探す Python のコード、WinSxS が大きく見える理由(ハードリンク)の実物、予約済み記憶域と単位の差の試算
Cドライブの空きが減ったときは、「Windows に任せて消せるもの」から順に片付け、最後に「自分で中身を見て決めるもの」に進むと、消してはいけないものに手を付けずに済みます。下の図はその順番です。
flowchart TD
A[Cドライブの<br>空きが少ない] --> B[設定の<br>ストレージで内訳を見る]
B --> C[一時ファイルと<br>推奨事項を消す]
C --> D[ごみ箱を空にする]
D --> E{足りた?}
E -->|はい| F[ストレージ センサーで<br>自動にする]
E -->|いいえ| G[大きいファイルを<br>探して移す]
G --> H[アプリを<br>アンインストール]
やりたいことから、答えと読む場所を引ける表です。
| 知りたいこと | 答え | 詳しい節 |
|---|---|---|
| Cドライブの空き容量の確かめ方 | エクスプローラーの「この PC」の「デバイスとドライブ」、または設定の「ストレージ」 | Cドライブの空き容量の確かめ方 |
| Cドライブの容量不足をすぐ解消したい | 「設定」→「システム」→「ストレージ」→「クリーンアップの推奨事項」(Windows 11) | いちばん手早い方法 |
| 一時ファイルの削除 | 「ストレージ」→「一時ファイル」→ 項目を選んで「ファイルの削除」 | 一時ファイルの削除 |
| ストレージ センサーとは | 一時ファイルやごみ箱の中身などを Windows が自動で消す機能。対象は C: だけ | ストレージ センサーの設定 |
| ディスククリーンアップのやり方 | 検索で「cleanmgr」を開き、ドライブを選んで項目にチェック | ディスク クリーンアップの使い方 |
| Windows.old は消してよい? | 前の版に戻す予定が無ければ消せる。消すと戻せない。10日で自動で消える | 消してよいもの・消さないものの判断表 |
| 大きいフォルダーの探し方 | 設定の「ストレージ」の内訳 → エクスプローラー → コード(Python・PowerShell) | 大きいフォルダー・ファイルの探し方 |
| WinSxS が大きい | 手で消さない。見かけより実際は小さい。DISM で分析と整理 | WinSxS が大きく見える理由 |
| 消したのに空き容量が増えない | ごみ箱が空になっていない・使用中のファイル・予約済み記憶域 | 空き容量が増えないときの症状表 |
確認環境:この記事は Windows の実機を操作して書いたものではありません。手順・画面の名前・数値は、Microsoft サポート(support.microsoft.com)、Microsoft Learn(learn.microsoft.com)、Microsoft の Tech Community ブログの記載だけをもとにしています。Microsoft サポートのページは取得ツール経由で読んでおり、画面の名前を「」で書いたのは、取得した文面にその表記で出ていたものに限りました。照合できなかった名前は働きで書いています。cleanmgr・DISM・PowerShell の Windows 固有のコマンドは動かしておらず、公式の記載のとおりに載せています。大きいフォルダーを探すコード、ハードリンクの大きさの比較、一時フォルダーの決まり方、容量の試算は Linux 上の Python 3.13.18 で実際に動かした結果です(Python のコードは Windows でも同じ書き方で動く標準ライブラリだけを使っています)。画面の文言は Windows の版で変わることがあります(確認日 2026年11月13日)。
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Cドライブの容量不足を解消する方法|ディスク クリーンアップと消してよいもの」
Cドライブの空き容量の確かめ方(エクスプローラー・設定・コマンド)
この節では、Cドライブの空き容量と「何が容量を使っているか」を確かめる3つの方法が分かります。
空き容量だけを見るならエクスプローラー、内訳まで見るなら設定の「ストレージ」です。Microsoft サポートは、タスクバーの「エクスプローラー」から「この PC」を開き、「デバイスとドライブ」で残りの容量を確かめる手順を案内しています。
1エクスプローラー
「この PC」の「デバイスとドライブ」に、Cドライブの空きと全体の容量が出る。いちばん早い確かめ方。
2設定の「ストレージ」
「スタート」→「設定」→「システム」→「ストレージ」。アプリ・一時ファイル・ドキュメントなど、何に使われているかの内訳が出る。
3コマンド
PowerShell の Get-PSDrive で、ドライブごとの使用量と空きを数字で出せる。記録に残したいときや、複数台を見るときに向く。
PowerShell で空き容量を数字で見る
Microsoft Learn の Get-PSDrive の説明では、引数なしで実行すると「Used (GB)」「Free (GB)」の列にドライブごとの使用量と空きが出ます。ファイル システムのドライブだけに絞るときは -PSProvider FileSystem を付けます。
Get-PSDrive -PSProvider FileSystem
公式の出力例は次の形です(数値は公式の例のもの。手元の Windows で動かした結果ではありません)。
Name Used (GB) Free (GB) Provider Root
---- --------- --------- -------- ----
C 202.06 23718.91 FileSystem C:\
D 1211.06 123642.32 FileSystem D:\
Python で空き容量を見る(Windows・Mac・Linux 共通)
Python の標準ライブラリ shutil.disk_usage は、OS を問わず同じ書き方で全体・使用・空きをバイト数で返します。Windows では引数に "C:\\" を渡します。下のコードは Linux 上の Python 3.13.18 で動くことを確かめたもので、Windows では動かしていません。
import shutil
u = shutil.disk_usage("C:\\") # Linux・Mac では "/" など
print(f"空き {u.free / 2**30:.1f} GiB / 全体 {u.total / 2**30:.1f} GiB "
f"(空き {u.free / u.total * 100:.1f}%)")
PowerShell のほかのコマンドと bash との対応は、関連記事「PowerShellコマンド一覧|用途別50選とbash対応表・実行例付き」で扱っています。
Cドライブが容量不足になると起きること・主な原因
この節では、Cドライブの空きが少ないと何が困るのかと、空きが減る主な原因が分かります。
いちばん困るのは Windows Update です。Microsoft サポートの「Windows 更新プログラム用に空き領域を増やすには」は、更新のインストール前に Windows が空き容量を確かめ、足りなければ空き容量の確保を求めると説明しています。必要な容量は更新の種類で変わり、機能更新は数 GB から 10 GB を超えるもの、品質更新は数 GB 程度とされています。更新の途中では一時的に追加の容量を使い、終わると再び使えるようになります。
空きが減る主な原因は次のとおりです。どれが大きいかは PC ごとに違うので、設定の「ストレージ」の内訳で確かめてから手を付けます。
| 原因 | たまる場所・中身 | 主な片付け方 |
|---|---|---|
| 一時ファイル | アプリやインストーラーが作業中に作るファイル、更新の残り | 設定の「一時ファイル」・ストレージ センサー |
| ダウンロード・ごみ箱 | インストーラー・ISO・動画など、使い終わったファイル | 中身を見て消す・移す。ごみ箱を空にする |
| 以前の Windows(Windows.old) | アップグレード前の Windows に戻すためのファイル | 戻す予定が無ければ「以前の Windows インストール」を消す |
| 動画・写真などの個人用ファイル | ビデオ・ピクチャ・ドキュメント | 外部ストレージや OneDrive へ移す |
| 使っていないアプリ | インストールしたまま使っていないアプリ | 「使用されていないアプリ」・アンインストール |
| コンポーネント ストア(WinSxS) | 更新のためのコンポーネント。見かけより実際は小さい | 手で消さない。ディスク クリーンアップ・DISM |
いちばん手早い方法:設定の「クリーンアップの推奨事項」(Windows 11)
この節では、Windows 11 で一度に容量を空けられる「クリーンアップの推奨事項」の手順が分かります。
Windows 11 では、Windows が「消せる候補」を4つの分類に分けて、解放できる容量と一緒に見せてくれます。Microsoft サポートの手順は次のとおりです。
「クリーンアップの推奨事項」を開く
「スタート」→「設定」→「システム」→「ストレージ」→「クリーンアップの推奨事項」を選ぶ。
分類ごとに候補を見る
「一時ファイル」「大きなファイルまたは未使用のファイル」「クラウドに同期されたファイル」「使用されていないアプリ」から、消す項目を選ぶ。項目ごとに解放できる容量が表示される。
「クリーンアップ」を押す
選び終えたら、各セクションの「クリーンアップ」を選ぶ。
ごみ箱を空にする
Microsoft サポートは、ファイルを消したあと「ごみ箱」を空にしないと領域は解放されない、と注意しています。
候補の中に「以前の Windows インストール」が出ることがあります。Microsoft サポートは、これを消すと以前の版の Windows に戻せなくなると説明しています。アップグレードしてから調子を見ている途中なら、この項目は残しておくのが安全です。
- 「大きなファイルまたは未使用のファイル」は、Windows が「大きい・使っていない」と見たものの一覧で、要らないものとは限りません。一覧の中身を開いて、残すものはチェックを外してから消します。
- 「クラウドに同期されたファイル」は、OneDrive と同期済みのファイルの手元の分です。OneDrive の仕組みとファイルの扱いは、関連記事「OneDrive(ワンドライブ)とは・使い方|料金・同期の止め方・消えた時の戻し方」で扱っています。
一時ファイルの削除(Windows 11・10 の設定から)
この節では、設定の「ストレージ」から一時ファイルを消す手順と、一時ファイルがたまる仕組みが分かります。
一時ファイルは、設定の「ストレージ」の内訳にある「一時ファイル」から、項目を選んで消します。Microsoft サポートのストレージ センサーのページは、次の手順を示しています。
- 「スタート」→「設定」→「システム」→「ストレージ」を開きます。
- 「ディスク使用量」で「一時ファイル」を選びます。
- 消す項目にチェックを入れ、「ファイルの削除」を選びます。
以前の版の Windows を消す手順を書いた別のページでは、同じ「一時ファイル」が「ハード ドライブ情報」の中にあると書かれています。同じ画面でも版によって見出しの名前が違うことがあるため、「ストレージ」の画面で「一時ファイル」の行を探すと見つけやすくなります。
%TEMP% フォルダーを開いて消す方法
エクスプローラーのアドレス バーに %TEMP% と入れると、サインインしているユーザーの一時フォルダーが開きます。PC メーカーのサポート ページでも、この方法で中のファイルを選んで消す手順が案内されています。使用中のファイルは消せずに残ることがありますが、それは今動いているアプリが使っているためで、無理に消す必要のないものです。アプリを閉じるか再起動してから、もう一度試します。
一時ファイルが残る仕組み(Python で実際に確かめた)
一時フォルダーの場所は、環境変数で決まります。Python の tempfile.gettempdir() は、公式ドキュメントのとおり TMPDIR・TEMP・TMP の順に環境変数を見て、最初に見つかったフォルダーを使います(Windows では TEMP と TMP が設定されているのがふつうです)。Linux 上で、変数の組み合わせを変えて実行した結果です(表示はフォルダー名だけにしています)。
$ python3 -c 'import tempfile,os;print(os.path.basename(tempfile.gettempdir()))'
none: tmp
TEMP=T1: T1
TMP=T2 TEMP=T1: T1
TMPDIR=T2 TEMP=T1: T2
次に、アプリが一時ファイルを作ったまま後片付けをせずに終わると何が起きるかを確かめました。with の中で作ったファイルは抜けた時点で消えますが、mkstemp で作ったファイルは、作った側が消さない限り残ります。
with 後に残る? False
mkstemp 後に残る? True tmp... 1048576
$ ls T1
tmpj_kjy7dv.tmp
途中で強制終了したアプリやインストーラーが残した一時ファイルがたまっていくのは、この「作った側が消す」約束が途中で切れるためです。設定の「一時ファイル」やストレージ センサーは、こうした残りをまとめて片付ける役目を持っています。一時ファイルそのものの仕組みは、納品済みの記事「tmpファイルとは?削除してよいか・開き方・消える仕組みを実測」でも扱っています。
ストレージ センサーの設定(自動で空き容量を増やす)
この節では、ストレージ センサーをオンにする手順と、設定できる項目、動く条件が分かります。
ストレージ センサーとは、一時ファイルやごみ箱の中身などを Windows が自動で消して、空き容量を保つ機能です。Microsoft サポートは、「Windows 更新プログラム用に空き領域を増やすには」の中で、空き容量を確保する方法としてストレージ センサーを勧めています。
オンにする
「スタート」→「設定」→「システム」→「ストレージ」で、ストレージ センサーをオンにする。
実行の頻度を決める
「ストレージ センサー」の画面の「ストレージ センサーの実行」で、動かす頻度を選ぶ。
ごみ箱とダウンロードの扱いを決める
「ごみ箱内のファイルを削除する」「ダウンロード フォルダー内のファイルを削除する」で、消すまでの期間を選ぶ。
クラウドのファイルの扱いを決める
「ローカルで利用可能なクラウド コンテンツの管理」で、開かない期間が過ぎたファイルを「コンテンツがオンラインのみになる」に切り替える日数を選ぶ。
Microsoft サポートのページには、既定の状態について「既定で有効」と読める説明と、よくある質問の「既定ではオフ」という説明の両方がありました。自分の PC でオンになっているかは、設定の「ストレージ」の画面で確かめるのが確実です。
ストレージ センサーが動く条件と対象
- 1対象はシステム ドライブ(ふつうは C:)だけほかのドライブは「記憶域の詳細設定」の「他のドライブで使用されているストレージ」で見る、と公式は説明
- 2サインインしてオンラインの状態が10分以上続かないと動かない電源を入れてすぐ切る使い方だと、なかなか動かないことがある
- 3オンラインのみにしてもファイルは消えない手元のコピーが外れるだけで、OneDrive 上には残る。「デバイスで常に保持」にしたファイルは対象外
- 4Windows 11 22H2 以降は OneDrive に既定の期間がある30日を超えて開かないファイルは、既定でオンラインのみになる
ダウンロードを自動で消す前に、消える量を下調べする
「ダウンロード フォルダー内のファイルを削除する」をオンにすると、まだ使うつもりのインストーラーや資料まで消える場合があります。ストレージ センサーが何を基準に日数を数えるかは、取得した公式の文面からは確かめられませんでした。そこで、オンにする前の下調べとして「最終更新から N 日を超えたファイルが何件・何 MB あるか」を数えるコードを用意しました。このコードは数えるだけで、ファイルを消しません。
# ダウンロードの中で、最終更新から N 日を超えたファイルの合計(消さない)
import os, sys, time
d = sys.argv[1]; now = time.time()
rows = []
for e in os.scandir(d):
if e.is_file(follow_symlinks=False):
st = e.stat(); rows.append(((now - st.st_mtime)/86400, st.st_size, e.name))
for n in (1, 14, 30, 60):
hit = [r for r in rows if r[0] > n]
print(f'{n:>3}日超: {len(hit)}件 {sum(r[1] for r in hit)/2**20:6.1f} MiB',
[r[2] for r in sorted(hit)])
見本として、更新日を 120日前・45日前・20日前にした3つのファイル(ISO 2つと PDF)を置いたフォルダーで動かした結果です。期間を30日にすると26 MiB、60日にすると24 MiB が対象になり、20日前に入れた ISO は残ります。
1日超: 3件 50.0 MiB ['setup_v2.iso', 'manual.pdf', 'setup_v1.iso']
14日超: 3件 50.0 MiB ['setup_v2.iso', 'manual.pdf', 'setup_v1.iso']
30日超: 2件 26.0 MiB ['manual.pdf', 'setup_v1.iso']
60日超: 1件 24.0 MiB ['setup_v1.iso']
Windows では python olddl.py "%USERPROFILE%\Downloads" のように、ダウンロードのフォルダーを引数に渡して使えます(Windows での実行結果はこの記事では載せていません)。
ディスク クリーンアップの使い方(cleanmgr)
この節では、昔からある「ディスク クリーンアップ」の開き方と、コマンドで使うときのオプションが分かります。
ディスク クリーンアップは、一時ファイル・システム ファイル・ごみ箱などを消して空き容量を増やす、Windows に入っているツールです。Microsoft Learn は、次の開き方を挙げています。
- Cleanmgr.exe を実行する(スタートの検索や、コマンド プロンプトで
cleanmgrと入れる)。 - 「スタート」→「Windows 管理ツール」から開く(Microsoft Learn の記載。スタートの中の名前は版で違うことがあります)。
- ドライブのプロパティの画面にあるディスク クリーンアップのボタンから開く。
開いたら、対象のドライブ(C:)を選び、消す項目にチェックを入れて実行します。システム ファイルも対象に含めるボタンを押すと、管理者の権限で項目を数え直し、Windows Update の残りなども候補に出ます。Microsoft Learn の WinSxS の説明では、ディスク クリーンアップの「更新プログラムのクリーンアップ」でコンポーネント ストアを小さくできるとしています。
なお、Microsoft サポートの空き容量のページは、いまは設定の「クリーンアップの推奨事項」を中心に案内しています。ふだん使いは設定の画面、コマンドで決まった項目をくり返し消したいときは cleanmgr、と使い分けると迷いません。
cleanmgr のオプション(Microsoft Learn の記載)
| オプション | 働き |
|---|---|
| /d <ドライブ文字> | クリーニングするドライブを指定する(/sagerun:n とは一緒に使わない) |
| /sageset:n | 設定の画面を出し、選んだ項目を番号 n で保存する(n は 0〜9999) |
| /sagerun:n | 番号 n で保存した項目で、すべてのドライブに対して実行する |
| /tuneup:n | 同じ n で /sageset と /sagerun を続けて行う |
| /lowdisk | 既定の設定で実行する |
| /verylowdisk | 既定の設定で、確認の画面を出さずに実行する |
| /autoclean | Windows のアップグレード後に残ったファイルを自動で消す |
rem 消す項目を選んで「1番」として保存する
cleanmgr /sageset:1
rem 保存した「1番」の項目で実行する
cleanmgr /sagerun:1
どの項目を選ぶか迷うときは、次の節の判断表で「消してよいか」を確かめてからチェックを入れます。
消してよいもの・消さないものの判断表(Windows.old・ダウンロード・ごみ箱・システム ファイル)
この節では、Cドライブの容量を使っている主なものについて、消してよいか・どう消すかが分かります。
迷ったら「Windows の画面から消せるものは画面から、フォルダーを直接消すのはユーザーのファイルだけ」と覚えます。Windows フォルダーや Program Files の中を直接消すと、Windows やアプリが動かなくなるおそれがあります。
| 対象 | 消してよいか | 消し方 | 消したときの影響 |
|---|---|---|---|
| 一時ファイル | 消してよい | 設定の「一時ファイル」・ストレージ センサー | 使用中のものは残る。アプリが作り直すことがある |
| ごみ箱 | 中身を見てから | ごみ箱を空にする・ストレージ センサー | 空にすると、ごみ箱からは戻せない |
| ダウンロード | 中身を見てから | 使い終わったインストーラー・ISO を消すか移す | まだ使う資料まで消すおそれ。自動で消す設定は慎重に |
| Windows.old(以前の Windows インストール) | 前の版に戻す予定が無ければ | 「クリーンアップの推奨事項」または「一時ファイル」で選ぶ | 以前の版に戻せなくなる。10日で自動で消える |
| WinSxS(コンポーネント ストア) | 手で消さない | ディスク クリーンアップ・DISM | 手で消すと起動や更新ができなくなるおそれ(公式の警告) |
| Windows・Program Files フォルダー | 手で消さない | アプリはアンインストールで消す | Windows やアプリが動かなくなるおそれ |
| 使っていないアプリ | 使わないと決めたもの | 「使用されていないアプリ」・アンインストール | 使うときは入れ直しになる |
| 動画・写真・文書 | 消さずに移す | 外部ストレージ・OneDrive へ移す | 移した先のバックアップを別に考える |
Windows.old を消す手順(11・10)
Microsoft サポートの「以前のバージョンの Windows を削除する」によると、Windows にアップグレードしてから10日後に、以前の版は PC から自動で消えます。それより前に自分で消すこともでき、その操作には管理者の権限が要ります。
Windows 11
「設定」→「システム」→「ストレージ」
「クリーンアップの推奨事項」を選ぶ
「以前の Windows インストール」にチェックを入れて「クリーンアップ」
Windows 10
「設定」→「システム」→「ストレージ」
ストレージ センサーの「領域を自動的に解放する方法を変更する」
「今すぐ空き領域を増やす」の「以前のバージョンの Windows を削除する」にチェックを入れて「今すぐクリーンアップ」
どちらも、消したあとは以前の版に戻せません。アップグレード直後に不調がないかを数日見てから消すと、戻す道を残したまま判断できます。
大きいフォルダー・ファイルの探し方(設定・エクスプローラー・Python)
この節では、Windows が自動で消せない「自分のファイル」のうち、どこが大きいかを探す方法が分かります。
まず設定の「ストレージ」の内訳でどの分類が大きいかを見て、次にそのフォルダーの中身を大きい順に並べます。Microsoft サポートは、エクスプローラーで大きなファイルを探し、消すか外部ストレージへ移すように案内しています。移すときは、USB ドライブや SD カードなどへ「切り取り」と「貼り付け」で動かします。
Python で大きいフォルダーと大きいファイルを並べる
次のコードは、指定したフォルダーの下をたどって、直下のフォルダーごとの合計と、大きいファイルの上位を出します。標準ライブラリだけで書いてあり、読めないフォルダーは飛ばして続けます。ファイルを読むだけで、消したり動かしたりはしません。
# 大きいフォルダーと大きいファイルを上から並べる(消さない)
import os, sys, heapq, time
root = sys.argv[1]
top = int(sys.argv[2]) if len(sys.argv) > 2 else 5
dir_total = {}
files = []
def walk(path):
total = 0
try:
it = os.scandir(path)
except (PermissionError, FileNotFoundError) as e:
print('skip:', e.__class__.__name__, path); return 0
with it:
for e in it:
try:
if e.is_symlink():
continue
if e.is_dir(follow_symlinks=False):
total += walk(e.path)
elif e.is_file(follow_symlinks=False):
s = e.stat(follow_symlinks=False).st_size
total += s; files.append((s, e.path))
except OSError:
pass
dir_total[path] = total
return total
t0 = time.perf_counter(); all_ = walk(root); dt = time.perf_counter() - t0
fmt = lambda b: f'{b/2**20:8.1f} MiB'
print('合計', fmt(all_), f'({len(files)}ファイル・{dt*1000:.1f} ms)')
print('--- 直下のフォルダー(大きい順)')
kids = [(v, k) for k, v in dir_total.items() if os.path.dirname(k) == root.rstrip('/')]
for v, k in sorted(kids, reverse=True)[:top]:
print(fmt(v), f'{v/all_*100:5.1f}%', os.path.relpath(k, root))
print('--- 大きいファイル')
for s, p in heapq.nlargest(top, files):
print(fmt(s), os.path.relpath(p, root))
ユーザーのフォルダーに似せた見本(Downloads・Videos・Documents・Pictures・AppData の下に合計 100 MiB のファイル)を作って動かした結果です。全体の半分をダウンロードの ISO 2つが占めていることが一目で分かります。
合計 100.0 MiB (12ファイル・0.1 ms)
--- 直下のフォルダー(大きい順)
50.0 MiB 50.0% Downloads
34.0 MiB 34.0% Videos
8.0 MiB 8.0% AppData
4.0 MiB 4.0% Pictures
4.0 MiB 4.0% Documents
--- 大きいファイル
24.0 MiB Downloads/setup_v2.iso
24.0 MiB Downloads/setup_v1.iso
18.0 MiB Videos/meeting_0901.mp4
16.0 MiB Videos/meeting_1001.mp4
4.0 MiB AppData/Local/Temp/tmp1234.tmp
Windows では python bigdirs.py "%USERPROFILE%" 10 のように、自分のユーザー フォルダーを渡すのがおすすめです。C:\ 全体を渡すと時間がかかり、Windows のフォルダーまで並びます。そこに出たものは前の節の判断表のとおり手で消さないものなので、まずは自分のファイルの中から探します。
PowerShell で大きいファイルを並べる
PowerShell なら、Get-ChildItem の -File と -Recurse でファイルを集め、Sort-Object で Length(大きさ)の大きい順に並べます。Microsoft Learn には Length で小さい順に並べる例があり、-Descending を付けると大きい順になります。手元の Windows では動かしていません。
Get-ChildItem -Path "$env:USERPROFILE\Downloads" -File -Recurse |
Sort-Object -Property Length -Descending |
Select-Object -First 10 FullName, Length
Linux でディレクトリの大きさを調べる方法は、関連記事「duコマンドの使い方|容量を大きい順に表示・オプション一覧・dfとの差」で扱っています。
新しいファイルの保存先を別のドライブにする
D ドライブなど別のドライブがある PC では、新しく保存するファイルの行き先を変えると、Cドライブが埋まりにくくなります。Microsoft サポートの手順は「スタート」→「設定」→「システム」→「ストレージ」→「詳細記憶域設定」→「新しいコンテンツが保存される場所」で、コンテンツの種類ごとにドライブを選ぶ、というものです(ストレージ センサーのページでは同じ場所が「記憶域の詳細設定」と書かれており、版によって表記が違うことがあります)。
WinSxS が大きく見える理由(ハードリンクの実物と DISM)
この節では、C:\Windows\WinSxS が大きく見えても手で消してはいけない理由と、公式の整理の方法が分かります。
WinSxS の中のファイルは、多くが Windows のほかの場所と同じ実体を指す「ハードリンク」です。Microsoft Learn は、エクスプローラーなどの一部のツールはハードリンクを考えずにフォルダーの大きさを計算するため、実際より多くの領域を使っているように見える、と説明しています。そのうえで、WinSxS からファイルを消したりフォルダーごと消したりすると、PC が起動しなくなり更新もできなくなるおそれがある、と警告しています。
ハードリンクで「見かけの大きさ」が膨らむのを確かめた
10 MiB のファイルを1つ作り、同じ実体を指すハードリンクを4つ足して、ファイルの大きさを単純に足した値と、実体を1回だけ数えた値を比べました(Linux 上の Python 3.13.18)。
import os
naive = 0; seen = set(); actual = 0
for e in os.scandir("hl"):
st = e.stat(follow_symlinks=False)
naive += st.st_size # 名前ごとに足す
if (st.st_dev, st.st_ino) not in seen: # 実体ごとに1回だけ
seen.add((st.st_dev, st.st_ino)); actual += st.st_size
print(naive / 2**20, actual / 2**20)
50.0 10.0
$ ls -l hl | head -3
total 51200
-rw-r--r-- 5 root root 10485760 Nov 13 10:36 component.dll
-rw-r--r-- 5 root root 10485760 Nov 13 10:36 link0.dll
$ du -sh hl
10M hl
$ du -sh --count-links hl
50M hl
ls -l の2列目の「5」は、同じ実体を指す名前が5つあることを表しています。名前が5つあるので単純に足すと 50 MiB に見えますが、ディスク上の実体は 10 MiB です。WinSxS でも同じことが起きていて、エクスプローラーに出る大きさのまま「これだけ空く」とは考えられません。Linux で消したのに容量が減らない別の理由(開いたままのファイル)は、関連記事「Linuxでrmしても容量が減らない原因と対処法」で扱っています。
DISM でコンポーネント ストアを分析する
実際にどれだけ減らせるかは、管理者のコマンド プロンプトで次のコマンドを実行すると分かります(Microsoft Learn の記載。手元では動かしていません)。
Dism.exe /Online /Cleanup-Image /AnalyzeComponentStore
Microsoft Learn に載っている出力例の数値は次のとおりです。
Windows Explorer Reported Size of Component Store : 4.98 GB
Actual Size of Component Store : 4.88 GB
Shared with Windows : 4.38 GB
Backups and Disabled Features : 506.90 MB
Cache and Temporary Data : 279.52 KB
Number of Reclaimable Packages : 0
Component Store Cleanup Recommended : No
Microsoft Learn は、「Shared with Windows」は Windows と共有しているハードリンクの分で、コンポーネント ストアの余分(オーバーヘッド)とは見なさない、と説明しています。余分にあたるのは「Backups and Disabled Features」と「Cache and Temporary Data」です。この出力例を Python で読み、余分を計算しました。
overhead = 507.17 MB / explorer 5100 MB = 9.9%
actual - shared = 512.0 MB
エクスプローラーでは約 5 GB に見えても、この例で整理の対象になりうるのは約 507 MB、見かけの1割ほどです。「Component Store Cleanup Recommended」が Yes のときに、次のコマンドで整理します。
Dism.exe /online /Cleanup-Image /StartComponentCleanup
Microsoft Learn によると、このコマンドはタスク スケジューラーの StartComponentCleanup と同じ処理を、30日の猶予と1時間の時間切れなしで行います。/ResetBase を付けると置き換え済みのコンポーネントをすべて消しますが、完了後は今ある更新プログラムをアンインストールできなくなります。更新を戻す可能性を残したいときは付けません。
予約済み記憶域と単位の差(空き容量が少なく見える分の試算)
この節では、消しても増えない「Windows が取っておく領域」と、容量の数字が製品の表記と合わない理由が分かります。
予約済み記憶域とは
予約済み記憶域は、Windows Update のダウンロードとインストールを、空き容量を空けなくても進められるように Windows が取っておく領域です。Microsoft の Tech Community ブログは、始まりは約 7 GB で、PC によって時間とともに変わると説明しています。オプション機能や言語を追加すると増え、使っていないものを外すと減ります。容量が小さい端末では「システム ボリュームの2%か3 GB の小さいほう」だけを取る、と書かれています。この式で試算した値です。
| システム ボリュームの大きさ | 2% | 予約される量(小さいほう) |
|---|---|---|
| 32 GB | 0.64 GB | 0.64 GB |
| 64 GB | 1.28 GB | 1.28 GB |
| 128 GB | 2.56 GB | 2.56 GB |
| 150 GB | 3.00 GB | 3.00 GB |
| 256 GB | 5.12 GB | 3.00 GB |
この式は「容量が小さい端末」に当てはまるもので、すべての PC の値ではありません。自分の PC の予約の大きさは、ブログの説明では設定の「ストレージ」でほかの分類も表示し、システム用に予約された項目を開くと見られます。状態は次のコマンドで確かめられます(Microsoft Learn の記載)。
DISM.exe /Online /Get-ReservedStorageState
予約済み記憶域は更新を確実に入れるための仕組みなので、この記事では止める手順は扱いません。容量を増やしたいときは、使っていないオプション機能や言語を外すと予約も減る、という公式の説明のほうを使います。
製品の表記と画面の数字が合わない理由
ストレージの製品の容量は、1 GB を 10億バイトとして書かれていることが多くあります。同じバイト数を 2 の 30 乗(1,073,741,824)で割ると数字が小さくなり、その差は容量が大きいほど広がります。Python で計算した値です。
| 製品の表記 | 2の30乗で割った値 | 差 |
|---|---|---|
| 128 GB | 119.2 | 8.8 |
| 256 GB | 238.4 | 17.6 |
| 512 GB | 476.8 | 35.2 |
| 1,000 GB(1 TB) | 931.3 | 68.7 |
| 2,000 GB(2 TB) | 1,862.6 | 137.4 |
この差は数え方の違いで、消して取り戻せる容量ではありません。KB と KiB、GB と GiB の違いは、納品済みの記事「データ容量の単位換算|KBとKiB・GBとGiBの違い(1000と1024)」で扱っています。ストレージそのものの寿命の考え方は、関連記事「SSDの寿命は何年?TBWの計算式と確認方法・前兆と長持ちのコツ」で扱っています。
空き容量の割合の目安を計算する
「何 GB 空いていれば安心か」は、公式の記載では更新の種類によって数 GB から 10 GB 超とされています。同じ空き容量でも、全体の容量によって割合は大きく変わります。
| 全体の容量 | 空き 10 GB | 空き 20 GB | 空き 30 GB | 空き 50 GB |
|---|---|---|---|---|
| 128 GB | 7.8% | 15.6% | 23.4% | 39.1% |
| 256 GB | 3.9% | 7.8% | 11.7% | 19.5% |
| 512 GB | 2.0% | 3.9% | 5.9% | 9.8% |
128 GB の PC では、機能更新の目安の 10 GB を空けるだけで全体の約8%を使います。容量の小さい PC ほど、動画や ISO を C: に置かない運用が効いてきます。
Windows 11 と Windows 10 の違い(空き容量を増やす画面)
この節では、Cドライブの空き容量を増やすときに、Windows 11 と 10 で入口がどう違うかが分かります。
| やること | Windows 11 | Windows 10 |
|---|---|---|
| 消せるものをまとめて見る | 「ストレージ」→「クリーンアップの推奨事項」 | 「ストレージ」の一時ファイル・ストレージ センサーの画面 |
| 以前の Windows を消す | 「クリーンアップの推奨事項」の「以前の Windows インストール」 | 「領域を自動的に解放する方法を変更する」→「以前のバージョンの Windows を削除する」 |
| 一時ファイルを消す | 「ストレージ」→「一時ファイル」→「ファイルの削除」 | 同じ(見出しの名前が版で違うことがある) |
| ストレージ センサー | 「ストレージ」でオン。対象は C: だけ | 同じ |
| OneDrive の既定の期間 | 22H2 以降、30日開かないとオンラインのみ | 公式の記載で既定の期間は確かめられなかった |
| ディスク クリーンアップ | cleanmgr で開ける | cleanmgr で開ける |
Microsoft サポートの「Windows でドライブの空き領域を増やす」には Windows 11 と Windows 10 の切り替えがありますが、取得できたのは Windows 11 の内容でした。Windows 10 の欄は、Windows.old の削除手順のページ(KB5012334)と、ストレージ センサーのページの記載で書いています。
空き容量が増えないときの症状表
この節では、手順どおりに消したのに空き容量が増えない・消せないときの原因と直し方が分かります。
| 症状 | 原因 | 確かめ方 | 直し方 |
|---|---|---|---|
| ファイルを消したのに空きが増えない | ごみ箱に移っただけ | ごみ箱の中身を見る | 中身を確かめて、ごみ箱を空にする |
| 一時ファイルの一部が消えない | アプリが使用中 | 消せなかったファイル名を見る | アプリを閉じるか再起動してからもう一度 |
| ストレージ センサーが動いていない | オフ、またはオンラインの状態が10分続いていない | 「ストレージ」の画面でオンか見る | オンにし、サインインしたまましばらく使う |
| D: などが空かない | ストレージ センサーの対象は C: だけ | どのドライブが足りないか見る | 「他のドライブで使用されているストレージ」から見る |
| 「以前の Windows インストール」が出ない | アップグレードから10日が過ぎ、自動で消えた | アップグレードした日を思い出す | そのままでよい(もう Windows.old は無い) |
| 一時ファイルの領域が足りないというエラー | Temp フォルダーがいっぱい | エラーの文面を見る | 公式の案内:Microsoft Store のリセット(wsreset.exe)→ Windows Update のトラブルシューティング → 再起動 |
| Windows Update が容量不足で進まない | 更新に要る空きが足りない | Windows Update の画面の通知を見る | 一時ファイルを消す。足りなければ 10 GB 以上空いた外部記憶装置をつなぎ、「問題の修正」から進める |
| WinSxS が何 GB もある | ハードリンクで大きく見えている | DISM の /AnalyzeComponentStore | 推奨が Yes なら /StartComponentCleanup。手では消さない |
| 中身を足しても使用量と合わない | 予約済み記憶域・単位の差 | 「ストレージ」でほかの分類も表示する | 予約は消さない。言語やオプション機能を外すと減る |
Windows Update のエラー コードから原因を調べるときは、納品済みの記事「Windows Updateのエラーコード一覧|0x800f0922等の意味と直し方」も役に立ちます。Linux や Docker で「No space left on device」が出たときは、納品済みの記事「No space left on deviceの原因と直し方|空きがあるのに出る時」で扱っています。
やってはいけないことと、代わりにやること(よくあるつまずき)
この節では、Cドライブの容量を空けようとして起きやすい失敗と、その代わりにやることが分かります。
WinSxS が大きいとき
公式は、手で消すと起動や更新ができなくなるおそれがあると警告
Windows フォルダーの中が大きいとき
Windows の画面から消せるものは画面から消す
「お掃除」をうたうツールを見つけたとき
何を消したかを自分で確かめられる方法を選ぶ
アップグレードの直後
消すと以前の版には戻せない
ほかにも、次のつまずきがよくあります。
- ダウンロードを自動で消す期間を短くしすぎる:まだ使う資料やインストーラーまで消えることがあります。前に載せた下調べのコードで、消える件数と量を先に数えておくと安心です。
- OneDrive の「空き領域を増やす」をファイルの削除と思い込む:オンラインのみにしたファイルは OneDrive 上に残り、手元のコピーだけが外れます。ネットにつながらない場所では開けなくなる点に注意します。
- /ResetBase を気軽に付ける:今ある更新プログラムをアンインストールできなくなります。ふだんは付けずに /StartComponentCleanup だけを使います。
- ウイルスを疑って、出所の分からない駆除ツールを探す:Microsoft サポートは「Windows セキュリティ」などでウイルス スキャンを行う方法を案内しています。まずは入っている機能で確かめます。
どこから手を付けるかを順に並べると、次のようになります。上ほど安全で手早く、下ほど自分で中身を見て決めることが増えます。
- 1一時ファイルを消し、ごみ箱を空にする設定の「一時ファイル」。消してよいものだけが並ぶ
- 2クリーンアップの推奨事項を見るWindows 11。候補の中身を見てから「クリーンアップ」
- 3ストレージ センサーをオンにするまた埋まるのを防ぐ
- 4大きいファイルを外部ストレージや OneDrive へ移す動画・ISO が多い場合はここが効く
- 5使っていないアプリをアンインストールする「使用されていないアプリ」から選ぶ
- 6ディスク クリーンアップ・DISM でシステム側を整理する管理者の権限。Windows.old と /ResetBase は戻せない
ドライブそのものを大きいものに替える・パーティションを広げる方法は、PC の機種によって手順や注意が違うため、この記事では扱いません。作業の前に PC メーカーの公式の案内を確かめます。
Cドライブの容量不足のよくある質問
この節では、Cドライブの空き容量とディスク クリーンアップについて、よく調べられる疑問に答えます。
Q. Cドライブの空き容量はどれくらいあればよいですか。
公式の記載では、機能更新に数 GB から 10 GB を超える空きが要るとされています。少なくとも更新が入るだけの空きを保ち、足りなくなる前にストレージ センサーで自動で片付ける設定にしておくと安心です。
Q. ディスククリーンアップと設定の「クリーンアップの推奨事項」はどちらを使えばよいですか。
ふだんは設定の画面が手早く使えます。Microsoft サポートの空き容量のページも設定の画面を中心に案内しています。cleanmgr は、決まった項目をコマンドでくり返し消したいときに向いています。
Q. 一時ファイルは全部消して問題ありませんか。
設定の「一時ファイル」に並ぶ項目は、Windows が消せるものとして示したものです。ただし「ダウンロード」や「ごみ箱」が一緒に並ぶことがあるので、その2つは中身を見てからチェックを入れます。
Q. Windows.old は消してよいですか。
以前の版の Windows に戻す予定が無ければ消せます。消すと戻せなくなります。アップグレードから10日たつと自動で消えるので、急がなければ待つのも1つの方法です。
Q. WinSxS フォルダーが何 GB もあります。消せますか。
手では消しません。ハードリンクのため実際より大きく見えています。DISM の /AnalyzeComponentStore で整理の推奨が出たら、/StartComponentCleanup かディスク クリーンアップで整理します。
Q. ストレージ センサーはファイルを勝手に消しますか。
設定した範囲のものだけを消します。ごみ箱とダウンロードは、消すまでの期間を自分で選べます。クラウドのファイルは「オンラインのみ」になるだけで、ファイルそのものは消えません。
Q. ストレージ センサーで D ドライブも片付けられますか。
公式の説明では、対象はシステム ドライブ(ふつうは C:)だけです。ほかのドライブの使い方は「他のドライブで使用されているストレージ」から確かめます。
Q. 消したのに空き容量が増えません。
まずごみ箱を空にしたかを確かめます。使用中で消えなかったファイルは、再起動後にもう一度試します。それでも合わない分は、予約済み記憶域や単位の数え方の差のことがあります。
Q. 予約済み記憶域は止めたほうが空きますか。
予約済み記憶域は Windows Update を空き容量の心配なく入れるための仕組みです。この記事では止める手順は扱いません。使っていない言語やオプション機能を外すと予約も小さくなる、という公式の説明があります。
Q. 256 GB の PC なのに、全体が 238 GB と表示されるのはなぜですか。
256 GB を 10億バイト単位で数えた値と、2 の 30 乗で割った値の差です。256 × 10億 ÷ 1,073,741,824 は約 238.4 になります。消して取り戻せる容量ではありません。
まとめ
- Cドライブの容量不足は、「設定」→「システム」→「ストレージ」から一時ファイルと「クリーンアップの推奨事項」を片付けるのが最短。消したらごみ箱を空にする。
- ストレージ センサーをオンにすると、一時ファイル・ごみ箱・ダウンロードを自動で片付けられる。対象は C: だけで、ダウンロードの期間は下調べしてから決める。
- Windows.old は戻す予定が無ければ消せるが、消すと戻せない。WinSxS と Windows・Program Files の中は手で消さない。
- 大きいのが自分のファイルなら、Python・PowerShell で大きい順に並べ、外部ストレージや OneDrive へ移す。新しいファイルの保存先を別のドライブにする方法もある。
- WinSxS はハードリンクで大きく見え、予約済み記憶域(約 7 GB から)と単位の差も「減って見える」原因になる。どちらも消して取り戻すものではない。
参考・出典
以下は 2026年11月13日に確認しました。
- Microsoft サポート「Windows でドライブの空き領域を増やす」:https://support.microsoft.com/ja-jp/windows/free-up-drive-space-in-windows-85529ccb-c365-490d-b548-831022bc9b32
- Microsoft サポート「ストレージ センサーを使用してドライブの領域を管理する」:https://support.microsoft.com/ja-jp/windows/manage-drive-space-with-storage-sense-654f6ada-7bfc-45e5-966b-e24aded96ad5
- Microsoft サポート「Windows のディスク クリーンアップ」:https://support.microsoft.com/ja-jp/windows/disk-cleanup-in-windows-8a96ff42-5751-39ad-23d6-434b4d5b9a68
- Microsoft サポート「Windows 更新プログラム用に空き領域を増やすには」:https://support.microsoft.com/ja-jp/help/4013876
- Microsoft サポート「以前のバージョンの Windows を削除する」:https://support.microsoft.com/ja-jp/windows/delete-your-previous-version-of-windows-f8b26680-e083-c710-b757-7567d69dbb74
- Microsoft サポート「KB5012334 設定アプリのストレージ センサーを使って Windows.old フォルダーを削除する」:https://support.microsoft.com/ja-jp/topic/e12f9d84-ad7f-4780-9406-465670157f8e
- Microsoft Learn「cleanmgr」:https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/cleanmgr
- Microsoft Learn「ディスク クリーンアップ」:https://learn.microsoft.com/ja-jp/windows-server/storage/file-server/disk-cleanup
- Microsoft Learn「WinSxS フォルダーのクリーンアップ」:https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/clean-up-the-winsxs-folder
- Microsoft Learn「WinSxS フォルダーの実際のサイズを確認する」:https://learn.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/determine-the-actual-size-of-the-winsxs-folder
- Microsoft Learn「DISM Storage reserve command-line options」:https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/dism-storage-reserve?view=windows-11
- Microsoft Learn「Get-PSDrive」:https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-psdrive
- Microsoft Learn「Get-ChildItem」:https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-childitem
- Microsoft Learn「Sort-Object」:https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/sort-object
- Windows IT Pro Blog「Managing reserved storage in Windows 10 environments」:https://techcommunity.microsoft.com/t5/windows-it-pro-blog/managing-reserved-storage-in-windows-10-environments/ba-p/1297070
- Python ドキュメント「tempfile」「shutil.disk_usage」「os.scandir」:https://docs.python.org/ja/3/library/tempfile.html / https://docs.python.org/ja/3/library/shutil.html / https://docs.python.org/ja/3/library/os.html
本記事の内容は、ご自由にお使いください。
ご利用の際は、出典として本ページへのリンクを記載いただけますようお願いします。
(記載例)出典:株式会社RJC「Cドライブの容量不足を解消する方法|ディスク クリーンアップと消してよいもの」
株式会社RJC ― SI事業・SES事業・AI駆動開発。RJCは一緒に成長を楽しめる会社です。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。