前提
- OS: Windows 11
- PC に接続されたドライブ: C, D(ここまで SSD); E, F, G(ここまで HDD)
- 元々 Windows 10 を使っていたが,最近 Windows 11 に OS を入れ替えた.C ドライブ以外は Windows 10 時代のものをそのまま流用
症状
タスクバーの「検索」(Windows Search) から特定のドライブ(具体的には D・E・G)がで検索できない.
通常,Windows Search の検索対象フォルダを指定するには,以下の手順で検索場所を指定してやればよい.
- [Win]+[I] で「設定」ウィンドウを出す
- 左上のハンバーガーボタン(三)から「プライバシーとセキュリティ」を開く
- 「Windows 検索」をクリック
- 「ファイルを検索」内にある「検索場所をカスタマイズする」をクリック
- 「インデックスのオプション」ウィンドウが開くので「変更」をクリック
- 「インデックスが作成された場所」ウィンドウが開くので,「選択された場所の変更」から検索対象にしたいフォルダにチェックを入れて「OK」をクリック
しかし,この「選択された場所の変更」にそもそも D・E・G ドライブが表示されない.
原因
D・E・G ドライブ直下の "System Volume Information" のアクセス権限が不適切だった.
※正確には以下の解決手法を実施すると直ったので,きっとこうだろうという推測.公式ドキュメント等で仕様を確認したわけではない.
解決手法
- 表示されなかったドライブ直下の "System Volume Information" を右クリックして「プロパティ」をクリック
- 「セキュリティ」タブを開き,下の方の「詳細設定」をクリック
- 以下の手順で所有者を Administrator に変更
- 「所有者」欄の「変更」をクリック
- 別に表示されるウィンドウの「選択するオブジェクト名を入力してください」に「Administrator」を入力して「OK」をクリック
- 「サブコンテナーとオブジェクトの所有者を置き換える」にチェックを入れる
- 以下の手順で SYSTEM にアクセス権限を与える
- 「アクセス許可」の「追加」をクリック
- 「プリンシパルの選択」をクリックすると別ウィンドウが表示されるので,「選択するオブジェクト名を入力してください」に「SYSTEM」を入力して「OK」をクリック
- 「基本のアクセス許可」の「フル コントロール」にチェックを入れて「OK」をクリック
- 「子オブジェクトのアクセス許可エントリすべてを、このオブジェクトからの継承可能なアクセス許可エントリで置き換える」にチェックを入れる
- 「OK」をクリック
- [Win]+[R] で「ファイル名を指定して実行」を開き,名前に「services.msc」を入力して「OK」をクリック
- 「Windows Search」をクリックし,左上の「サービスの再起動」をクリック
なお,これは検索対象に表示されていたドライブと同じアクセス権限を,表示されていないドライブにも頭を空っぽにしてコピーしただけなので,これらのうち,どれが本当に必要だったのかは不明.
補足
「前提」に書いた通り,今回 検索対象に表示されていなかったドライブは Windows 10 の PC から流用したものだが,そのときドライブ内のファイル・フォルダの権限を書き換える作業をした.このとき何も考えずに "System Volume Information" の権限も一緒に書き換えたために起きたと思われる.
蛇足
この問題を解決するために色々ググったものの,なかなか解決できず,貴重な休日を半日も潰してしまいました.なのでせめて同じ問題に悩む人が時間を無駄にしないようにドキュメント化して公開しておきます.