私はメインPCのCドライブをSSDにしています。OSをSSDにインストールし、出来るだけデータを別ドライブに入れて運用していたのですが、Cドライブの掃除をまったくせずに使い続けてきたため、とうとう容量がいっぱいになってしまいました(涙
フリーソフトの CCleaner など便利なものもあるのですが、手動でどこまで削ることができるのか試してみたかったので、少し調べてみました。動作確認は64ビット版のWindows 7 Professional SP1で行っています。
買い換えろ
昔に比べればそれなりの容量のSSDもお手ごろな値段になりましたので、一番早いのは容量の大きなSSDに換装することだと思います。
Windowsのシステムドライブの交換にはOSの再インストールも必要ないので、これが一番早い解決方法です。ただし、Windowsシステムのバックアップを取らなければならないので、外付けのHDDが必要になります。最近では3TBのHDDが一万円程度で買えるんですね。すげー時代になったもんだ。
詳しい手順についてはこちらのリンクをどうぞ。
とくみつ録。: SSD換装記 ~Windows7のバックアップと復元機能を使い、Windows環境を 旧SSD(128GB) → 新SSD(512GB) へそっくりそのまま移行する方法
自作PCerの人ならシステム修復ディスクを作成せずにWindows 7のインストールディスクを使えばよいので、こちらのリンクのほうが参考になるかもしれません。
だけども、容量が足りなくなったからとい言って「はい、買い換えます」と言えるブルジョワばかりではありませんよね。
準備
隠しフォルダをいじることになるので、エクスプローラの設定を変更しておく必要があります。「整理」→「フォルダーと検索のオプション」をクリック。
「表示」タブにおいて以下のように設定します。
- 「隠しファイル、隠しフォルダー、および隠しドライブを表示する」にチェックを入れる
- 「保護されたオペレーティング システム ファイルを表示しない」のチェックを外す
いらないアプリケーションを削除する
お試しでインストールしたフリーソフトや使わなくなったアプリケーションなどがあれば、まずはこれをアンインストールしておきます。コントロールパネルの「プログラムのアンインストール」から必要な操作を行ってください。
「プログラムの追加と削除」の残骸を削除
コントロールパネルから不要なアプリケーションをアンインストールしたのに、設定データなどが残っていてそれらがかなりの容量を持っている場合があります。探す場所は次のとおり。
- C:\ユーザー\○○○○○\AppData\Local
- C:\ユーザー\○○○○○\AppData\Roaming
環境によっては「ユーザー」ではなく「Users」になっているかもしれません。「○○○○○」の部分は現在ログインしているユーザー名が入ります。ユーザー名を確認したければ、スタートメニューをクリックして右上に表示されます。
セキュリティ的にモザイク処理をしていますが、ご自分の環境でスタートメニューをクリックして確認してみてください。
Windows Updateで蓄積されたファイルの削除
Windows Updateを行う際に作成されたキャッシュファイルを削除します。アップデートのたびにファイルが作成されるので、定期的に削除することをおすすめします。
- C:\WINDOWS\SoftwareDistribution\Download
- C:\WINDOWS\SoftwareDistribution\DataStore
これらのフォルダの中身を削除してください。
pagefile.sysの移動
Windowsは大量のアプリケーションを起動したりしてメモリの容量が不足してしまった場合、使われていないメモリ上のプロセスを一時的にHDDやSSDに退避する「スワップアウト」という動作を行います。このために使われるのがローカルディスク(C:)に置かれているpagefile.sysなのですが、私の環境では15.8GBもの領域を占めています。
一部のネットの情報ではこの機能を無効にしてしまう方法が紹介されていますが、私は無効化せずにこのファイルの保存場所を変更することで対応することにしました。無効化は大容量メモリを搭載している場合には問題ないようですが、システムの不安定化の原因になるので非推奨となっているようです。
「システムとセキュリティ」をクリック。
「システム」をクリック。
「システムの詳細設定」をクリック。
「システムのプロパティ」ダイアログが表示されるので、「詳細設定」タブにおいて「パフォーマンス」の設定ボタンをクリック。
「パフォーマンス オプション」ダイアログが表示されるので、「詳細設定」タブにおいて「仮想メモリ」の変更ボタンをクリック。
「仮想メモリ」ダイアログにおいてpagefile.sysの保存場所を変更します。まずは「すべてのドライブのページング ファイルのサイズを自動的に管理する」のチェックを外します。
「ドライブ」ボックスから変更したいドライブ名をクリックします。別のドライブを選択した場合、初期設定ではページング ファイルなしになっていると思います。
「システム管理サイズ」にチェックを入れて「設定」ボタンを押すことで、ページング ファイルのサイズが「システム管理」に切り替わると思います。ちゃんと変化したかどうか確認するようにしてください。確認後、OKボタンを押して設定は完了です。
さらに、現在Cドライブに対してページング ファイルのサイズが「システム管理」に設定されていますが、これを「ページング ファイルなし」にして「設定」ボタンを押して「なし」に切り替えておかないと、CドライブとFドライブの両方にページングファイルが作成されることになってしまいます。こちらも忘れずに。
最後に設定を適用するために、パソコンを再起動してください。再起動後、Cドライブからpagefile.sysが削除されているか確認してください。もし残っていたら設定を再確認し、問題なければ手動で削除します。
hiberfil.sysの削除
ハイバネーションファイル(hiberfil.sys)はパソコンを休止状態にする際、メモリ内の データ を一時的にHDDへ保存するための予約領域になります。Windows 7ではこの機能を「ハイブリッドスリープ」と呼んでいますが、64ビットOSで大容量のメモリを積むとhiberfil.sysの容量が大きくなる傾向にあります。ちなみに、私の環境では11.9GBもの領域を占めていました。
pagefile.sysのように別の場所に保存できるように設定できればいいのですが、hiberfil.sysはWindowsが起動する初期の段階で使用されるため、Windowsの起動パーティションに存在しなければならないという制約があります。要はCドライブから動かせないということですね。
メモリの内容を一時的にHDDなどに退避するため、スリープ状態で停電などにより電源を喪失してもデータを保持できるなど便利なのですが、スリープ前にアプリケーションのデータを保存すれば問題ないと思ったので、ハイブリッドスリープを無効にすることにしました。ハイブリッドスリープを無効にしても通常のスリープは使えます。
スタートメニューの「すべてのプログラム」→「アクセサリ」からコマンドプロンプトを管理者権限で起動します。
「powercfg.exe /hibernate off」と入力して実行してください。これでCドライブからhiberfil.sysが削除されているはずです。
もし消えていない場合、一度パソコンを再起動して手動で削除します。ハイブリッドスリープを有効に戻すには、管理者権限で起動したコマンドプロンプトで「powercfg.exe /hibernate on」と入力して実行すればよいです。
インターネットやWindowsシステムの一時ファイルの削除
パソコンにちょっとくわしい人なら「インターネットやWindowsシステムの一時ファイルは削除しないの?」と思われるかもしれません。ネットで「Cドライブ クリーンアップ」で検索すると必ず出てくる常套手段です。
ただ、私は大容量メモリをPCに積んでおり、そちらにこれらの一時ファイルを移しているので、この操作を行う必要がありませんでした。メモリの値段もお手ごろになってきているので、ぜひお試しください。SSDとあわせればあなたのパソコンも爆速です。
メモリの一部をRAMディスクにして快適環境を構築してみる | Naokix.net
以前の記事でも書きましたが、インターネットやWindowsシステムの一時ファイルをRAMディスクに置く場合、どのくらいの容量にすればよいのかが問題になると思います。私のパソコンは16GBのメモリを搭載しており、Internet Explorer、Google Chorme、FirefoxとWindowsシステムの一時ファイルをRAMディスクに置いていますが、2GBの容量を確保しました。
CPUのスペックなどの環境によって違いはあると思いますが、3つのブラウザを同時に使い、かつその他にも複数のアプリケーションを起動しながらでも快適にパソコンを使うことができています。ごく稀にブラウザのタブを開きすぎてRAMディスクの容量を使いきってしまうことがありますが、月に一度あるかないかといった具合ですので、それほど心配することはないかと思います。
2017.01.29 追記
私は余ったメモリ領域にフリーソフト「SoftPerfect RAM Disk」を使って RAM ディスクを作成しています。作成した RAM ディスクに Windows のテンポラリファイルを置いているのですが、メニューの「ツール」→「WindowsTEMPフォルダの設定」をクリックすれば一発で移動できるので、非常に便利です。
ところが、この操作で移動できるテンポラリファイルは C:\Users\(ユーザ名)\AppData\Local\Temp 以下のファイルだけで、C:\WINDOWS\Temp 以下のテンポラリファイルは移動してくれません。試しに私の環境を調べたところ、この残されたテンポラリファイルの容量がなんと22GBにもなっていました。これはいけない。
C:\WINDOWS\Temp 以下のファイルをすべて削除しました。結果はご覧のとおり。Windows をセーフモードで起動すれば、ほぼ全てのファイルを削除できるようです。RAM ディスクを作成している人はぜひご確認を。
仕上げにディスクのクリーンアップ
Windowsの標準機能であるディスククリーンアップを使って、ソフトウェアが一時的に保存したファイルや必要なくなったシステムファイルなどの不要なファイルを削除しましょう。
スタートメニューの「すべてのプログラム」→「アクセサリ」→「システムツール」からディスク クリーンアップをクリックします。
実行したいドライブを選んでOKをクリック。
どれくらいの空き容量が作成できるか計算しはじめますので、終わるまで待ちます。
計算終了後、ダイアログが表示されるので、「削除するファイル」ボックスから削除するファイルを選択します。残しておく必要がないのであれば、すべて選択して問題ないと思います。
OKをクリックすると「これらのファイルを完全に削除しますか?」というダイアログが表示されるので「ファイルの削除」ボタンをクリックします。これでクリーンアップは完了です。
デフラグは必要か?
CドライブにHDDを使用している場合には必ず行ってください。SSDの場合ですが、長らく「SSDにデフラグは必要なのか?」といった論争が繰り返されてきましたが、SSDデフラグ不要論はどうやら都市伝説だったようです。
SSDにデフラグは必要か不要かの論争に終止符 | SSD比較専門サイト
私は体感的にパソコンの速度低下を感じられなかったので、今回は省略しています。もしSSDに対してデフラグを行うのであれば、Windows標準のデフラグはHDDに向けたものなので、SSD専用のデフラグツールを使うようにしてください。フリーソフトで提供されています。
結果
結果、30GBぐらい削減することができました。
おまけ
ここから先は暇な人だけお読みください。
今回、数年ぶりにCドライブのクリーンアップを行うということで、かなり気合いを入れて情報を調べて作業に臨んだのですが、マイクロソフトさんが前もって対応してくれていたようで、あまり操作をせずにクリーンアップを完了することができてしまいました。
以下は「これはやらなくても大丈夫だよ」という操作をリストアップしていくので、「ネットでこういう方法も紹介されていたけど、やる必要あるのかな?」と疑問に思われた方は参考にしてください。(先に記事を書いてから動作確認をしたのですが、やらなくてよい操作について書いてしまった分を削除するのが悔しかっただけなのは内緒です。)
NetMeetingをアンインストール
Skypeなどの普及により、誰が使っているのかが疑問であるマイクロソフト製ビデオチャットアプリケーション「NetMeeting」。コントロールパネルの「プログラムの追加と削除」から削除できないというマイクロソフトさんの無駄なあがきお心遣い痛み入ります。
これを削除するには「ファイル名を指定して実行」に次のように入力・実行します。Windowsキー+Rを押すとこのダイアログを表示できます。
1 | %SystemRoot%\System32\rundll32.exe setupapi,InstallHinfSection NetMtg.Remove 132 msnetmtg.inf |
Windows 7 Professional SPには最初からインストールされていないのか、「インストールできません」みたいなダイアログが表示されて失敗します。Program Filesフォルダなどを探してみたのですが、見つけることができませんでした。
Service Packを恒久化する
C:\Windows\winsxsには一部Service Packに関するデータが保存されており、これがかなりの容量を使用している場合があります。これらを削除するとWindows 7の無印に戻せなくなるのですが、戻すこともないと思うので削除してしまいます。これを「Service Packを恒久化する」と言います。
ただし、winsxsフォルダには更新プログラムや修正プログラムなども含まれているので、単純にフォルダ内のファイルを削除してしまうとWindowsが不安定になる危険があるため、推奨されていません。そこで、コマンドプロンプトから以下の操作を行います。
- カレントディレクトリをc:\windows\system32に変更する
- 「DISM /online /Cleanup-Image /SpSuperseded」と入力しエンターを押す
コマンドプロンプトを管理者として実行する必要があるので注意してください。説明をわかりやすくするために大文字と小文字を区別していますが、小文字だけで入力しても操作は可能です。しばらく待つと操作が完了します。
コマンドプロンプトの結果を見ればわかるように、Service Packのバックアップが見つからないでのクリーンアップを続行することができません。マイクロソフトさんが前もって恒久化を済ませてくれているんですかね?
Windows Updateで蓄積されたファイルの削除
次のフォルダはWindows UpdateやService Packを適用した場合に自動で作成されるもので、これらを「プログラムの追加と削除」からアンインストールして以前の状態に戻すときに使われます。インストール済みのプログラムやService Packをアンインストールする予定がなければ、消してしまっても大丈夫です。「○○○○○○○○○」には数字などが入っています。
- C:\WINDOWS\$NtUninstallKB○○○○○○○○○$
- C:\WINDOWS\$NtServicePackUninstall$
Windowsフォルダ以下を探してみたのですが、すでに削除済み。以前、XPのときに似たようなファイルを見た覚えがあるような。
C:\WINDOWS\ServicePackFilesフォルダを削除
Service Pack全体のコピーですが、こちらも削除済みでした。
Comment
件名:ありがとうございました。
当方WINDOWS 7 Proで,SSDはCドライブとして使用,OSとアプリケーションを収めてあり,その他のファイルは3台のHDDに入れてあります。
どうも調子が悪いので,4年使用したSSD 240GBを昨年6月に換装(500GB),不調は治まりました。
ところがふと気が付くと,12月頃から,どんどんSSDの残容量が減り始めました。
検索して調べて書いてあったことはすべて行いましたが,数GB容量が戻るだけで,その後もじわじわと原因不明の肥大化が進んでいき,今月初めには とうとう残容量が20GBを切ってしまいました。
これはもう,SSDを1TBに換装するか,リカバリーするしかないなあ,と思っていたところで,こちらのページを発見。
そして,「Defraggler」でデフラグしてみたところ,なんと!残容量 16.8GB → 465GB という劇的な復活を遂げました。
こういう解決事例はどこにも書いてなかったので,ご報告する次第であります。
どうもありがとうございました m(_ _)m