ある日突然、C:ドライブの空き容量不足のエラーが発生。その原因はインデックス(Windows Search)かもしれない。インデックスのサイズを確認して、移動したり縮小したりする方法を解説する。
対象OS:Windows 7 / Windows 8
ある日、突然WindowsのC:ドライブ(システム/ブート・ドライブ)の空き容量が不足しているという警告メッセージが表示された。確かに空き容量が数Mbytesまで減っているが、C:ドライブに大きなファイルや大量のファイルを保存した覚えはまったくない。しばらく前に確認したときには数十Gbytesの余裕があったはずなのに……
ドライブの空き容量が不足する「ディスク・フル」には、さまざまな原因が考えられる。もし、C:ドライブ(システム/ブート・ドライブ)の容量が数十G〜百数十Gbytesと小さく、データ・ドライブに多くのファイル/データが保存されている場合、Windows標準のインデックス(Windows Search)機能がディスク・フルの原因かもしれない。本稿では、このインデックスによるC:ドライブの容量不足を確認する方法とその対策について説明する。
インデックスとは、ドライブ内のファイルやメール・メッセージ、Internet Explorerの履歴などを素早く検索できるように作成される、電子的な索引のことを指す。Windows 7/Windows 8には、この索引をバックグラウンドで検索・生成する「Windows Searchサービス」が標準で組み込まれている。
インデックスはデフォルトでC:ドライブに作成される(インデックス対象が複数のドライブにまたがっていても、C:ドライブに集約される)。そのため、C:ドライブの容量が比較的小さく、かつインデックス対象のファイル/データが多いと、インデックスが肥大化してC:ドライブを溢れさせることがある。
したがって対策としては、まずインデックスのサイズを調べ、肥大化しているなら、空いているドライブに移動したり、インデックスのサイズを縮小したりすることになる。
以下の操作には管理者権限が必要な場合があるので、あらかじめ管理者権限を持つアカウントでWindowsにログオンしていただきたい。
まずはC:ドライブの空き容量不足がインデックス肥大化のせいかどうか確認しよう。それにはコントロール・パネルの[インデックスのオプション]アプレットでインデックスのありかを調べる(コントロール・パネルの検索ボックスで「インデックス」を検索すると、このアプレットは簡単に見つけられる)。アプレットを開いたら[詳細設定]ボタンをクリックし、[インデックスの設定]タブの「インデックスの場所」枠にある[現在の場所]に注目する。
インデックスを構成する主なファイルは次のフォルダに格納されている:
<[現在の場所]に記載されているパス>\Search\Data\Applications\Windows
エクスプローラでこのフォルダを右クリックしてプロパティを開くと、[全般]タブの[ディスク上のサイズ]にインデックスのサイズが表示される。これがC:ドライブの空き容量の半分以上を占めるようなら、この後に説明する対策を施した方がよいだろう。
なお、インデックス格納フォルダのサイズを調べる際には、必ず上記パス中のDataフォルダ以下でそのプロパティを開いて確認すること。これより上の階層のフォルダでは、サイズが正しくカウントされないことがあった。また、上記フォルダを開く際、アクセス権の取得を求めるダイアログが表示されたら、必ず[はい]ボタンをクリックして取得すること。
もしインデックスが格納されているドライブとは別に、十分な空き容量のあるドライブがあるなら、そちらへインデックスを移動できる。それには、まずエクスプローラで移動先のフォルダを作成する。このとき、そのフォルダに対して、ローカル・システム・アカウント(SYSTEMアカウント)にフル・コントロールの権限が許可されていることを確認しておく。これは、そのフォルダのプロパティの[セキュリティ]タブで確認できる。
次に[インデックスのオプション]アプレットを開いて[詳細設定]ボタンをクリックし、[インデックスの設定]タブの「インデックスの場所」枠にある[新しい場所の選択]ボタンをクリックする。そこで移動先フォルダを指定する。[OK]ボタンをクリックすると、自動的にインデックスを生成するサービス(Windows Searchサービス)が再起動された後に、インデックスが従来のフォルダから新しいフォルダへ移動される。
インデックスの移動が完了するには、数分〜数十分ほど待つ必要がある。完了すると元のフォルダは空になり、インデックスの主要なファイルは次のフォルダに保存されるはずだ。
<[新しい場所]に記入したパス>\Search\Data\Applications\Windows
インデックスを移動できるほどの空き容量がどのドライブにもない場合は、インデックスそのものを縮小する必要がある。それにはインデックス対象のフォルダ/データを減らせばよい(ただし、インデックス対象から外したフォルダ/データの検索はずっと遅くなる)。
[インデックスのオプション]アプレットを開いて[変更]ボタンをクリックすると、「インデックスが作成された場所」ダイアログの「選択された場所の概要」欄に現在のインデックス対象の概要一覧が表示される。素早く検索できなくてもいいフォルダ/データがあれば、それをクリックして選択すると、上の「選択された場所の変更」欄で該当項目がフォーカスされる。そのチェックボックスからチェックを外してオフにすると、インデックス対象から外れる。例えば「C:\Program Files」「 C:\Program Files (x86)」といったシステム関連フォルダをインデックス対象に含めると、インデックスが大きくなりやすいので、なるべく外した方がよい。
上記ダイアログで[OK]ボタンをクリックすると、インデックス対象の変更が反映される。しばらく待ってからエクスプローラでインデックス格納フォルダのプロパティを開き、サイズが縮小されているか確認する。もしサイズに変化がなければ、同じアプレットを再度開いて[詳細設定]ボタンをクリックし、[インデックスの設定]タブの[再構築]ボタンをクリックして、インデックスを再生成する。これでインデックス対象の変更が強制的に反映され、サイズも縮小されるはずだ。なお、再生成中はインデックスを利用した検索結果がおかしくなったり、CPUやディスクの使用率が一時的に高まったりするので注意すること。
ファイルやフォルダの検索をそれほどしないなら、いっそインデックスそのものを無効化したいと思うかもしれない。しかしマイクロソフトによれば、インデックスすなわちWindows Searchを無効化するとWindowsのすべての検索ボックスが表示されなくなるなどの副作用が生じるとのことだ。
無効化しなくても、前述の方法でインデックス対象を大幅に減らすとインデックスのサイズは数十Mbytes程度に縮小できる。その分、インデックス生成に費やされるCPUパワーやディスク・アクセスも大幅に減るはずだ。
Copyright© Digital Advantage Corp. All Rights Reserved.