web-dev-qa-db-ja.com

NTFSIDでファイルまたはディレクトリを検索する

chkdskから次の出力を受け取ったとします。

Deleted invalid filename Flatland: A Romance of Many Dimensions (88216) in directory 403737.

IDが403737のこのディレクトリの名前と現在の場所を見つける方法はありますか? (および関連する質問、この「ntfsid」番号の適切な名前は何ですか?)

4
IQAndreas

それらがMFTレコード番号であると仮定すると、nfiという名前のMSツールを使用してntfs情報をダンプし、次にgrepやawkなどのユーティリティを使用できます。 (インストールする必要があります/ネイティブwinではありません)興味のある結果のみを除外します。
nfiOEMツール の一部としてダウンロードできます。

nfi c: |awk "/File 72\r/{c=4;{print}next}c-->0"私のラップトップで次の出力を生成します。

ファイル72
\WINDOWS\Temp
$ STANDARD_INFORMATION(常駐)
$ FILE_NAME(常駐)
$ INDEX_ROOT $ I30(常駐)

これは「ブルートフォース」線形検索であるため、番号の大きいエントリを見つけるのに時間がかかる場合があることに注意してください。

6
wmz

将来これをグーグルで検索するかもしれない人のために:私はちょうどLinuxで1つができることを知りました

ntfsls -iaR /dev/sdb1

-i = iノード(つまり、MFTレコード番号)を表示します。-a =すべてを表示します(何をするのかわかりませんが、害はありません)、-R =サブディレクトリに再帰します。/ dev/sdb1はパーティションデバイスファイルまたはNTFSイメージファイルです。

これにより、MFTレコード番号とともにファイルのNiceの長いgreppableリストが生成されます。

ntfslsはntfsprogsパッケージに含まれています(少なくともFedoraで)。

上記のコメント(@iqandreasがLinuxについて具体的に尋ねたところ)の下にこれを投稿したかったのですが、サイトは私を許可しませんでした

1
ad84