回復されたファイルのディレクトリ構造を維持するためにntfsundeleteを使用したいと思います。 ntfsundeleteの出力は次のとおりです。
Inode Flags %age Date Size Filename
191321 FN.. 100% 2016-04-26 1175 file.txt
191322 D... 100% 2016-04-26 10 my directory
出力には「file.txt」のフルパスは表示されず、対応するインデックスノードのみが表示されます。もしそうなら、親ディレクトリのinodeを見つける方法は?
答え1
インデックスノードには親情報がないため、ディレクトリエントリとインデックスノードは分離されています。親エントリを含むディレクトリエントリ(またはdentry)。
上記の理由は、ハードリンクをサポートするためです。ハードリンクは同じinodeを指しているため、異なるディレクトリ(親ディレクトリ)に存在する可能性があります。
答え2
--parent
マニュアルページに記載されているパラメータを試しましたかntfsundelete
?
元々含まれているフォルダ内の情報を見つけることができるので、通常は機能します。
答え3
トリニティ構造キットというユーティリティがあり、ntfsundeleteall
その説明は次のとおりです。
"ntfsundelete"ユーティリティのシンプルなラッパーです。ファイル名の前に元のinode(=ファイルシステム内のファイルの内部番号)を追加するので、常に一意のファイル名を持つことになります。後でファイル名を変更するのはユーザーの役割ですが、少なくとも復元されたファイル名には元の名前が含まれます。
TRKディスクをダウンロードして起動して使用できます。残念ながら、このラッパースクリプトのソースが見つかりません。報告されたiNode名に基づいてフォルダを作成するbashスクリプトを想像することは難しくありません。ntfsundelete --scan
たぶん、連続したiNode番号に基づいてファイルやフォルダについて楽観的な推測をすることができますが、...作成するのは難しく、そのような人を見つけることができません。持っています。
答え4
たとえば、次のように使用できますfind(1)
。
find ./ -inum 191321
しかし、少し遅いかもしれません。