当 Everything 搜索软件绿色版第一次运行时会弹出选择框,让你选择以管理员身份运行、安装 everything 服务及禁止索引 NTFS 卷三个选项。

提示框已经解释了为什么要这么处理,Everything“需要管理员权限来索引 NTFS 卷,你可以以管理员身份运行或者安装 Everything 服务来完成对 NTFS 卷的索引.”也就是说当选择第三个选项“禁止索引 NTFS 卷”Everything 将无法正常运行,搜索不到任何电脑内内容。Everything 是基于 NTSF USN 日志进行搜索的,所以能得到极快的速度。
当 Everything 第一次运行时,会通过主文件表中的文件元数据创建卷上每个文件和目录名称的索引。默认情况下,会索引所有挂载的 NTFS 卷。创建索引后,程序就会根据 USN 日志持续更新索引。Everything 在索引中查找满足用户查找表达式的文件名,表达式可以是部分目标文件名,或使用正则表达式,并且在搜索关键字输入后立刻显示结果。
由于 Everything 并不索引文件内容,并且依赖于 USN 日志来过滤文件更新,因此只会占用很少的内存和处理器时间。Everything 的索引过程和搜索过程执行非常快速(几乎瞬间完成)、占用资源极低,同时能实时更新索引数据库(索引文件极小)和搜索结果,这些特性在如今磁盘容量越来越大、用户文件越来越多的情况下使得 Everything 超越了传统桌面搜索工具而广受欢迎。
那为什么微软自带的搜索不这么处理呢?主要原因是:
Windows 系统原则上不允许应用层直接访问物理硬件。如果能直接访问硬件,那么 NTFS 的权限限制的就失去意义,所以应用层直接读取硬件是需要被操作系统限制的,需要获得权限才可以这么做,也就是 Everything 运行要求管理员权限或服务来启动。
Windows 搜索文件夹慢是因为 Windows 读取文件夹数据需要经过:WindowsAPI-> 系统调用 -> 内核驱动这个步骤,步骤繁琐,而系统调用这一关是无法绕过的,带来的后果就是慢。
相比于要求管理员权限或服务来运行,个人不喜欢有个服务老在后台运行,还是开启管理员权限好点。

