fsckを実行した後にディレクトリをLost + foundに入れると、元の内容はすべて含まれますか?

fsckを実行した後にディレクトリをLost + foundに入れると、元の内容はすべて含まれますか?

ext4ファイルシステムに次のディレクトリ構造があるとしましょう。

a/b/{1..9}

(つまり、a/b/1、a/b/2、...a/b/9)

私はa / bを書いていますが、力を失ったとしましょう。 fsckが実行され、いくつかのファイル(a / b / 1、a / b / 2など)を見つけてLost + foundに入れます。

今問題は、loss + foundのすべての失われたファイルが同じディレクトリにありますか?たとえば、1 から 9 のすべてのファイルが欠落している場合、Lost+found に Lost+found/#1234567/* のような内容が含まれることは保証されますか?ここでフォルダ#1234567には1から9のすべてのファイルが含まれていますか?それとも、Lost+found/#1234567/1、Lost+found/#7654321/2など、別のディレクトリに分散できますか?

失われた特定のフォルダを体系的に回復する方法と、そのフォルダがすでにLost + Foundに一緒にグループ化されているのか、それともLost + Foundで既存のファイルをすべてチェックして失われたフラグメントを見つける必要があるのか​​を知りたいので、この質問をします。

答え1

iノードは、それを参照するディレクトリエントリがない場合に挿入されるため、lost+found/iノードには「名前」はありません。親ディレクトリ(a/この場合)が欠落/破損した場合(inode自体またはその中にある各ファイル/ディレクトリの名前-inodeマッピングを保持するディレクトリブロック)inodeb/lost+found/名前#inode_numberb/それ自体が破損していない場合、すべての項目(1..9)はまだ内部にあるため、名前をそのソース#inode_numberに変更できます。lost+found/

つまり、a/とがb/同時に生成されると、ディスクの物理的な位置が非常に近くなる可能性があるため、同時に破損する可能性があります。

破損した場合、b/そのファイルは個別に配置され、lost+found/UID / GIDおよび/またはコンテンツで識別される必要があります。

関連情報