我有一个分区,格式为NTFS。我研究过,格式化为 NTFS 的设备有一个 MFT(主文件表),其中包含有关设备内容的大量信息。
MFT真的是一个文件吗?
它位于哪里?
我怎样才能查看它?
我其实想查看$BITMAP来了解分区中所有文件和目录的位置。
更新: 好像我只能使用 HexEditor 查看 MFT 文件。但仍在寻找更多选择...
可以通过 FSCTL_GET_VOLUME_BITMAP API 调用读取磁盘的集群 BITMAP。但是,它不会告诉每个集群中有哪些文件。您需要解析 MFT(更快)或在每个文件上递归调用 FSCTL_GET_RETRIEVAL_POINTERS(慢)。
如果您的目的是列出驱动器中的文件并查看它们的路径,请在此处检查源文件链接。这个人解析 MFT 并搜索其中是否存在文件。只需修改代码即可帮助您获取文件和目录的路径。
$MFT 是系统生成的文件,尽管具有管理权限,但用户无法直接访问该文件。 如果您想查看 MFT,您可以使用 FTK imager 或 Autopsy 等免费工具从任何具有 NTFS 文件系统的分区的根目录导出 $MFT。 此外,使用来自github的analyzeMFT包解析MFT可以提供一个exel文件以方便阅读。
MFT 不是文件。 MFT 是文件系统的一部分。要查看它,您必须访问较低级别的磁盘,例如块模式。