ファイルはext2 / ext3 / ext4でどのようにレイアウトされますか?


8

数日前、ext4フォーマットのフラッシュカード上のすべてのメタデータが上書きされました。

これがどのように起こったのかを推測します。これは純粋な推測です。別のカードを使用した直後に発生しました。カードのボリュームラベルが他のカードと同じになりました。そのため、他のカードをプルしたときに、同期/アンマウントに失敗したのではないかと思います。カードリーダーは、カードが抜かれたときにシステムに適切に通知しないため、次のシステムは同期を生成し、システムはカードを交換したことを認識せず、メタデータを上書きしました。

これが起こったときに私が最初にしたことは、ddを使用してイメージを作成することです。2番目に行ったのは、イメージを読み取り専用にすることです。3つ目は、書き込み可能なイメージのコピーを作成することです。

私はいくつかのことを回復できたがすべてではないphotorecを発見しました。これの理由の一つは、それが非破壊的であるということだと思います。

復元されたファイルの一部はテキストであるため、photorecがファイル形式に関する最小限の情報を使用していると思われます(ある場合)。

カードから他のファイルを復元するには、ext2でファイルがどのように配置されているかを知る必要があります。基本はファイルがブロックに分割され、セクターに書き込まれ、次のセクターを見つける方法に関する情報が現在のセクターに何らかの形で書き込まれていることだと思います。

先に進む必要があるのは、次のセクターへのポインターがどのように書かれるかについての情報です。

PS:私はphotorecコードを読んでいますが、それを読むのにいくつかの問題があります。それが私なのか、それとも醜いコードなのかはわかりません。

PPS:extファイルシステムのレイアウト方法に関する情報をいくつか見つけましたが、基本的なファイルレイアウト情報を見つけることができません。

回答:


4

PhotoRecはディスク(またはディスクイメージ)をスキャンして、連続したバイトのように見える既知のファイル形式を検索します(たとえば、セグメントヘッダーによってJFIF / EXIF(JPEG)を認識できます)。かなりシンプルですが制限があります。

Sleuth Kitは、ファイルシステムを掘り下げるための優れたツールです。少し注意して(そして、ツールのスクリプトを作成し、ディスクイメージが壊れたときにディスクイメージを16進編集して)、回復に使用できます。

extをより深く理解するツールについては、ext4magicをお試しください。(私はまだこれを使用する必要がありませんでした。)

Documentation/filesystems/ext2.txtカーネルのソースには、一般的な構造の高レベルの概要があります。Ext4のウィキなど良い情報がExt4のディスクレイアウト(ならびに大部分EXTに適用する[23])の詳細を含有します。

しかし、はい、ファイルのデータはブロックに分割されます。ext2では、各ファイルは、直接ブロック(データブロックへのポインター)、間接ブロック(直接ブロックへのポインター)、二重間接ブロック、および三重間接ブロックを含むiノードによって表されます。バックリンクがないため、データブロックの兄弟を見つけるには、最初にすべてのiノードとブロックポインターをスキャンして、その所有者を見つける必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.