OS X Yosemite で Thunderbolt ディスク上のタグやメールを検索できない理由がわかりました

iMac

OS X Yosemite にアップデートしてから Thunderbolt で接続していた外付け SSD ディスクに保村したファイルを "タグ" で検索できなくなっていました。

それ以外のディスクでは問題なかったので Thunderbolt の問題かと思っていたんですけど、実は Spotlight のインデックスが破損したのが原因でした。


OS X 10.10.0 Yosemite にアップデートした瞬間から今日まで、Thunderbolt で接続していた外付け SSD ディスクに保村したファイルを "タグ" で検索できなくなっていました。

内蔵 SSD や USB 3.0 で繋いだ外付け SSD のファイルは検索できたので、てっきり Thunderbolt ディスクのタグは検出できなくなったのかと思っていたのですけど、あるときメールアプリのデータを Thunderbolt ディスクに移動したところ、メールの検索もできなくなってしまいました。

さすがに不便が気になってきたので、検索できない原因を探してみることにしました。

原因さがし

Thunderbolt のせいではなかった様子

手始めに Thunderbolt で接続していた SSD を、手元にあった USB 2.0 ケースに入れて接続してみたのですけど、それでも結局、タグは検出されませんでした。

つまりどうやら Thunderbolt が原因ではなかった様子です。

ディスクのインデックスも問題なし

Thunderbolt ディスクで何かインデックスみたいなのが壊れているのかなと疑って、とりあえず R を押しながら Mac を再起動してディスクチェックをしてみたものの、まったく問題なしでした。

原因は Spotlight のインデックス

他に何か「インデックス」があるかと心当たりを探ってみると、そういえば Mac には Spotlight というシステム全体の検索を実現する仕組みがあったので、それを当たってみたところ、今回の原因はまさにこれでした。


とりあえずインデックスを再構築してみようと思い、まずは システム環境設定Spotlight 設定から再構築を試みてみましたが上手く行きませんでした。

Spotlight の プライバシー 設定で、いったん Spotlight の検索から除外する場所 として再構築したいディスクを登録して、すぐに登録を削除するとインデックスの再構築が始まるらしいのですが、なにやらまったく始まる気配がありませんでした。


そこで、ターミナルで次のコマンドを実行しました。

ちなみにコマンドの最後に指定している UserData は、タグが検索できなくなっているディスクのボリューム名です。

sudo mdutil -E /Volumes/UserData/

そうしたところ、次のエラーメッセージが表示されました。

/Volumes/UserData:

Error: unknown indexing state.

なにやら、インデックスの状態が「不明」のようです。

この感じから、どうやら Spotlight のインデックスがおかしくなっていることが窺えます。そしてこれがおかしいとすれば、タグやメールの検索ができなかったとしても頷けるような気がしました。

Spotlight のインデックスを直せばタグもメールも検索できるようになりそうな気がしてきたので、さっそく修復にとりかかります。

インデックスの状態を再構築せずに確認したいときは sudo mdutil -s /Volumes/UserData/ というように -s オプションで実行します。

Spotlight のインデックスを再構築する

さて、再構築コマンド sudo mdutil -E /Volumes/UserData/ を実行してもエラーになってしまうのでどうしたら良いかと思ったのですけど、この mdutil コマンドで -i オプションを使うと Spotlight の有効/無効を切り替えられるそうなので、試しにそれで Spotlight を有効化してみることにしました。

sudo mdutil -i on /Volumes/UserData/

そうしたところ、次のメッセージが表示されました。

/Volumes/UserData:
	Indexing enabled.

手ごたえ的になんだか良い感じがします。

念のため Spotlight の状態を確認するコマンド sudo mdutil -s /Volumes/UserData/ を実行してみても、今度は "Error: unknown indexing state." ではなくちゃんと "Indexing enabled." と表示されてくれました。


この段階で Spotlight の検索画面を表示してみると、インデックスが再構築中であることも確認できました。

Spotlight のインデックスが壊れていたとすると、それを削除してまっさらな状態にする方法もあるようです。インデックスは各ディスクに .Spotlight-V100 という隠しディレクトリが作られて保存されているようなので、これを削除することでクリーンにできるらしいです。今回は試していませんが、もし上の方法でも再構築できない場合は試してみても良いかもしれません。

タグもメールも検索復活

Spotlight のインデックス再構築が始まって、まもなく Thunderbolt ディスク上のファイルも Finder のタグで検索できるようになりました。メールの検索も、インデックスの再構築が終わったときにはできるようになっていました。

やっぱり、タグでファイルを探せるのって便利ですね。メールの検索ができないのもかなり不便でしたけど、無事に快適に戻ってくれて嬉しい限りでした。