为什么文件搜索实用程序不只是加载和解析 MFT?

Ste*_*hen 4 ntfs find mft

我注意到当我按名称搜索文件时(在 Windows 或 Linux 中),它通常是一个磁盘密集型过程,尤其是在 Windows 中。该实用程序(Windows 搜索,或 Cygwin 中的“查找”)似乎会扫描整个目录树,逐个考虑每个文件。

我想知道,为什么不将主文件表(或等效的,如果不是 NTFS)加载到内存中并纯粹在内存中解析它?我想这类似于 Windows 搜索、Google 桌面搜索和 Spotlight 等更现代的搜索所维护的索引,但即使是这些也是间接的。我猜文件系统通常不会将其元数据提供给外部程序?

我无法证明搜索尚未基于 MFT,但根据它的运行方式似乎不太可能。

sno*_*ude 5

有一些程序会在 Windows NTFS 卷上使用 MFT 进行搜索,例如开源项目:

http://sourceforge.net/projects/swiftsearch/

http://sourceforge.net/projects/ntfs-search/

它们非常快,但问题是一旦您开始直接使用 MFT,您就会绕过安全 ACL 和 shell 扩展等功能。因此,大多数这些程序需要以提升的权限运行,并且不一定会产生与基于 API 的搜索相同的结果。


归档时间:

查看次数:

4605 次

最近记录:

12 年 前