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_number
。b/
それ自体が破損していない場合、すべての項目(1..9
)はまだ内部にあるため、名前をそのソース#inode_number
に変更できます。lost+found/
つまり、a/
とがb/
同時に生成されると、ディスクの物理的な位置が非常に近くなる可能性があるため、同時に破損する可能性があります。
破損した場合、b/
そのファイルは個別に配置され、lost+found/
UID / GIDおよび/またはコンテンツで識別される必要があります。