インデックス(Windows Search)によってC:ドライブの空き容量が不足したときの対策Tech TIPS

ある日突然、C:ドライブの空き容量不足のエラーが発生。その原因はインデックス(Windows Search)かもしれない。インデックスのサイズを確認して、移動したり縮小したりする方法を解説する。

» 2013年03月22日 17時33分 公開
[島田広道デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象OS:Windows 7 / Windows 8



解説

 ある日、突然WindowsのC:ドライブ(システム/ブート・ドライブ)の空き容量が不足しているという警告メッセージが表示された。確かに空き容量が数Mbytesまで減っているが、C:ドライブに大きなファイルや大量のファイルを保存した覚えはまったくない。しばらく前に確認したときには数十Gbytesの余裕があったはずなのに……

 ドライブの空き容量が不足する「ディスク・フル」には、さまざまな原因が考えられる。もし、C:ドライブ(システム/ブート・ドライブ)の容量が数十G〜百数十Gbytesと小さく、データ・ドライブに多くのファイル/データが保存されている場合、Windows標準のインデックス(Windows Search)機能がディスク・フルの原因かもしれない。本稿では、このインデックスによるC:ドライブの容量不足を確認する方法とその対策について説明する。

●インデックス(Windows Search)とは?

 インデックスとは、ドライブ内のファイルやメール・メッセージ、Internet Explorerの履歴などを素早く検索できるように作成される、電子的な索引のことを指す。Windows 7/Windows 8には、この索引をバックグラウンドで検索・生成する「Windows Searchサービス」が標準で組み込まれている。

 インデックスはデフォルトでC:ドライブに作成される(インデックス対象が複数のドライブにまたがっていても、C:ドライブに集約される)。そのため、C:ドライブの容量が比較的小さく、かつインデックス対象のファイル/データが多いと、インデックスが肥大化してC:ドライブを溢れさせることがある。

 したがって対策としては、まずインデックスのサイズを調べ、肥大化しているなら、空いているドライブに移動したり、インデックスのサイズを縮小したりすることになる。

操作方法

 以下の操作には管理者権限が必要な場合があるので、あらかじめ管理者権限を持つアカウントでWindowsにログオンしていただきたい。

●インデックスがどれくらい大きくなっているか確認する

 まずはC:ドライブの空き容量不足がインデックス肥大化のせいかどうか確認しよう。それにはコントロール・パネルの[インデックスのオプション]アプレットでインデックスのありかを調べる(コントロール・パネルの検索ボックスで「インデックス」を検索すると、このアプレットは簡単に見つけられる)。アプレットを開いたら[詳細設定]ボタンをクリックし、[インデックスの設定]タブの「インデックスの場所」枠にある[現在の場所]に注目する。

インデックスの格納場所を確認する インデックスの格納場所を確認する
これはコントロール・パネルの[インデックスのオプション]アプレットで[詳細設定]ボタンをクリックしたところ。
  (1)このタブを選ぶ。
  (2)これがインデックスの格納場所。デフォルトは%ProgramData%\Microsoftフォルダである。

 インデックスを構成する主なファイルは次のフォルダに格納されている:

<[現在の場所]に記載されているパス>\Search\Data\Applications\Windows



 エクスプローラでこのフォルダを右クリックしてプロパティを開くと、[全般]タブの[ディスク上のサイズ]にインデックスのサイズが表示される。これがC:ドライブの空き容量の半分以上を占めるようなら、この後に説明する対策を施した方がよいだろう。

インデックス格納フォルダのサイズを確認する
インデックス格納フォルダのサイズを確認する インデックス格納フォルダのサイズを確認する
これは前述の方法で確認したインデックス格納フォルダをエクスプローラで開いたところ。
  (1)このフォルダにインデックスを構成する主なファイルが格納されている。これを右クリックし、[プロパティ]を選んで(2)を表示させる。
  (2)このフォルダ内のデータがドライブ上で占有している領域のサイズ。これがC:ドライブの空き容量の半分以上を占めているようなら、後述する対策を施した方がよいだろう。

 なお、インデックス格納フォルダのサイズを調べる際には、必ず上記パス中のDataフォルダ以下でそのプロパティを開いて確認すること。これより上の階層のフォルダでは、サイズが正しくカウントされないことがあった。また、上記フォルダを開く際、アクセス権の取得を求めるダイアログが表示されたら、必ず[はい]ボタンをクリックして取得すること。

●対策その1: インデックスを別のドライブへ移動する

 もしインデックスが格納されているドライブとは別に、十分な空き容量のあるドライブがあるなら、そちらへインデックスを移動できる。それには、まずエクスプローラで移動先のフォルダを作成する。このとき、そのフォルダに対して、ローカル・システム・アカウント(SYSTEMアカウント)にフル・コントロールの権限が許可されていることを確認しておく。これは、そのフォルダのプロパティの[セキュリティ]タブで確認できる。

インデックスの移動先フォルダがローカル・システム・アカウントからアクセスできるか確認する インデックスの移動先フォルダがローカル・システム・アカウントからアクセスできるか確認する
これは、新たに作成した移動先フォルダ(ここではE:\Indexes\Microsoft)をエクスプローラで右クリックしてプロパティを開いたところ。
  (1)このタブを選ぶ。
  (2)このアカウントを選択する。これがローカル・システム・アカウントを表している。
  (3)このチェックが入っている、すなわちフル・コントロールの許可がオンであることを確認する。

 次に[インデックスのオプション]アプレットを開いて[詳細設定]ボタンをクリックし、[インデックスの設定]タブの「インデックスの場所」枠にある[新しい場所の選択]ボタンをクリックする。そこで移動先フォルダを指定する。[OK]ボタンをクリックすると、自動的にインデックスを生成するサービス(Windows Searchサービス)が再起動された後に、インデックスが従来のフォルダから新しいフォルダへ移動される。

インデックスの格納場所を別のドライブへ移動する インデックスの格納場所を別のドライブへ移動する
これはコントロール・パネルの[インデックスのオプション]アプレットで[詳細設定]ボタンをクリックしたところ。
  (1)このタブを選ぶ。
  (2)このボタンをクリックして、インデックスの移動先フォルダを指定する。
  (3)このボタンをクリックすると、インデックス生成サービス(Windows Searchサービス)が再起動され、インデックスの移動が実際に始まる。

 インデックスの移動が完了するには、数分〜数十分ほど待つ必要がある。完了すると元のフォルダは空になり、インデックスの主要なファイルは次のフォルダに保存されるはずだ。

<[新しい場所]に記入したパス>\Search\Data\Applications\Windows



●対策その2: インデックス対象のデータを減らしてインデックスを縮小する

 インデックスを移動できるほどの空き容量がどのドライブにもない場合は、インデックスそのものを縮小する必要がある。それにはインデックス対象のフォルダ/データを減らせばよい(ただし、インデックス対象から外したフォルダ/データの検索はずっと遅くなる)。

 [インデックスのオプション]アプレットを開いて[変更]ボタンをクリックすると、「インデックスが作成された場所」ダイアログの「選択された場所の概要」欄に現在のインデックス対象の概要一覧が表示される。素早く検索できなくてもいいフォルダ/データがあれば、それをクリックして選択すると、上の「選択された場所の変更」欄で該当項目がフォーカスされる。そのチェックボックスからチェックを外してオフにすると、インデックス対象から外れる。例えば「C:\Program Files」「 C:\Program Files (x86)」といったシステム関連フォルダをインデックス対象に含めると、インデックスが大きくなりやすいので、なるべく外した方がよい。

インデックス対象のフォルダ/データを減らす インデックス対象のフォルダ/データを減らす
これは[インデックスのオプション]アプレットで[変更]ボタンをクリックしたところ。
  (1)インデックス対象フォルダ/データの概要一覧。素早く検索できなくてもいいフォルダ/データを見つけてクリックすると、対応する場所が上の「選択された場所の変更」欄の中から選択される。
  (2)チェックが入っているとインデックス対象に含まれる。素早く検索できなくてもいいなら、チェックを外してインデックス対象から外す。
  (3)アイコン左側の三角マークは、サブ・フォルダがあること表している。これをクリックしてフォルダ・ツリーを展開すれば、サブ・フォルダごとに細かくチェックのオン/オフができる(フォルダ・ツリーを全展開するには[Shift]+テンキーの[*]キーを押す)。
  (4)Internet Explorerのアクセス履歴も、デフォルトでインデックスの対象に含まれている。
  (5)Outlookのメールや連絡先なども、デフォルトでインデックスの対象に含まれている。

 上記ダイアログで[OK]ボタンをクリックすると、インデックス対象の変更が反映される。しばらく待ってからエクスプローラでインデックス格納フォルダのプロパティを開き、サイズが縮小されているか確認する。もしサイズに変化がなければ、同じアプレットを再度開いて[詳細設定]ボタンをクリックし、[インデックスの設定]タブの[再構築]ボタンをクリックして、インデックスを再生成する。これでインデックス対象の変更が強制的に反映され、サイズも縮小されるはずだ。なお、再生成中はインデックスを利用した検索結果がおかしくなったり、CPUやディスクの使用率が一時的に高まったりするので注意すること。

インデックスを再生成する インデックスを再生成する
これは[インデックスのオプション]アプレットで[詳細設定]ボタンをクリックしたところ。
  (1)このタブを選ぶ。
  (2)このボタンをクリックすると、インデックス再生成に関する警告メッセージが表示される。[OK]ボタンをクリックすると、現在のインデックスがいったん削除され、新たなインデックスの再生成が始まる。

●インデックス(Windows Search)の無効化はお勧めできない

 ファイルやフォルダの検索をそれほどしないなら、いっそインデックスそのものを無効化したいと思うかもしれない。しかしマイクロソフトによれば、インデックスすなわちWindows Searchを無効化するとWindowsのすべての検索ボックスが表示されなくなるなどの副作用が生じるとのことだ。

 無効化しなくても、前述の方法でインデックス対象を大幅に減らすとインデックスのサイズは数十Mbytes程度に縮小できる。その分、インデックス生成に費やされるCPUパワーやディスク・アクセスも大幅に減るはずだ。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。