假设我收到以下输出chkdsk
:
Deleted invalid filename Flatland: A Romance of Many Dimensions (88216) in directory 403737.
有没有什么办法可以通过 id 找到这个目录的名称403737
及其当前位置?(以及一个相关的问题,这个“ntfs id”号码的正确名称是什么?)
答案1
假设这些是MFT 记录编号,您可以使用名为 dump ntfs 信息的 MS 工具nfi
,然后使用 grep 或 awk 之类的实用程序(需要安装/不是原生 win)来过滤掉你感兴趣的结果。
nfi
可以作为OEM 工具
nfi c: |awk "/File 72\r/{c=4;{print}next}c-->0"
在我的笔记本电脑上产生以下输出:
文件 72
\WINDOWS\Temp
$STANDARD_INFORMATION(常驻)
$FILE_NAME(常驻)
$INDEX_ROOT $I30(常驻)
请注意,这是“强力”线性搜索,因此可能需要很长时间才能找到具有高数字的条目。
答案2
对于那些将来可能会谷歌搜索的人来说:我刚刚发现在 Linux 中,可以这样做
ntfsls -iaR /dev/sdb1
-我= 显示inode(即MFT记录号),-A= 显示全部(不知道它有什么作用,但它不会造成伤害),-R= 递归到子目录,/dev/sdb1是分区设备文件或NTFS映像文件。
这将生成一个可搜索的长文件列表以及它们的 MFT 记录号。
ntfsls 位于 ntfsprogs 包中(至少在 Fedora 上)。
我想把这篇文章发布在上面的评论下(@iqandreas 专门询问 Linux 的情况),但该网站不允许我