注意:我不久前在answers.microsoft.com上发布了同样的问题,到目前为止我没有得到回复
在尝试调查搜索索引器未找到文件的问题时,我注意到搜索根目录中缺少驱动器似乎存在问题。一些可能很重要的细节:
计算机具有三个内部驱动器:
- OS Drive C:、SSD、所有常用系统分区
- 数据盘E:,HDD,两个分区(另一个不需要索引)
- 数据盘D:,存储空间,一个分区
在中,列出了以下条目(请注意和驱动器
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\SearchRoots
的 GUID 似乎相同):D
E
defaultroot://{S-1-5-21-740414505-3273780380-2204535043-1001}/ file:///C:\[d2ba34b2-ebef-456a-a0d6-8da93b88df93]\ file:///D:\[3c8e34ff-7776-47f8-abaf-4334ed09d427]\ file:///E:\[3c8e34ff-7776-47f8-abaf-4334ed09d427]\ winrt://{S-1-5-21-740414505-3273780380-2204535043-1001}/
索引器诊断工具列出
file:///C:\
并file:///E:\
在“搜索根”下,这与注册表项相矛盾在“正在索引什么?”下,该工具仅列出以和 开头的路径,实际上以
C:\
和开头的路径在E:\
哪里。排除路径的相同列表出现在“搜索窗口”下的“设置”应用程序中E:\
D:\
“索引选项”对话框显示文件夹
D:\
和E:\
正在索引的文件夹(单击“修改”时)。在“索引这些位置”视图中,E:\
实际上没有列出任何位置搜索模式设置为“经典”
我已经尝试过多次重置搜索索引,无论是通过“重建索引”还是设置
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\SetupCompletedSuccessfully
为0
这里发生了什么?为什么 Indexer 诊断工具令人困惑D:\
并且E:\
?为什么位置E:\
没有出现在要索引的位置列表中?有没有办法将驱动器添加到搜索根/让索引器完全重新创建它们?
如果需要任何其他信息,请告诉我
终于找到了这个问题的解决方案:这个解决方案是基于这个答案,关于如何实际解决这个问题的更多细节。
原因
在某个时候,其中一个驱动器是作为另一个驱动器的克隆创建的。这导致两个驱动器的 GUID 相同,至少就索引器而言(这些不是标准分区 GUID 或类似的)。GUID 存储在 中
*:\System Volume Information\IndexerVolumeGuid
,因此除了权限问题之外,重置它非常简单。解决方案
这是我为解决问题所做的:
Windows Search
服务,并将启动类型设置为Disabled
regedit.exe
SetupCompletedSuccessfully
为HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\
0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\SearchRoots
,并删除与碰撞驱动器对应的所有键psexec
并psexec -sid cmd
从具有管理权限的命令行提示符 运行命令D:
哪里)D
System Volume Information
通过键入转到文件夹cd "System Volume Information"
del IndexerVolumeGuid
Windows Search
服务的启动类型设置回Automatic
并重新启动服务。Indexing Options
设置面板重新选择它们,方法是按Modify