最近、誤ってEXT4パーティションをFATにフォーマットしました。パニックになりました。私の希望が薄れていた暗い森の中の長い旅の後で、私は私のパーティションを回復することができました、そしてそれは大丈夫であるようです。 Sudo mke2fs -n /dev/sdx
がいくつかのスーパーブロックを導入した後、私は1つを選んでSudo e2fsck -b a_block_number /dev/sdxy
とビンゴを実行しました!すべてのファイルとディレクトリはlost + foundフォルダーに配置されました。
問題は、すべてのバックアップスーパーブロックが同じであるか、それとも他のブロックよりも多くの更新が可能かということです。
2番目の質問は、EXT4パーティションをEXT4に再フォーマットすると、バックアップスーパーブロックが上書きされることですか。 (自分自身の間で、mke2fsとe2fsckを試す前に、FATパーティションを再度EXT4に再フォーマットしました)
すべてのバックアップスーパーブロックは同じです。これらはすべてスーパーブロックのコピーであり、ディスク全体に分散しており、ディスクの連続した大部分が破損した場合に備えて冗長性を提供します。
パーティションをフォーマットすると、同じファイルシステムタイプでも、スーパーブロックがクリアされます。 (それは理にかなっています:フォーマットの目的は、パーティションに白紙の状態を作成することです。そのため、すべてのファイルシステムメタデータが消去されます。)ただし、バックアップスーパーブロックは消去する必要がないため、消去されません(経験から確認されています)。この)。
編集:コメントの質問に答えるには:
パーティションをフォーマットしてスーパーブロックをクリアした場合、
e2fsck
を使用してパーティションを回復するにはどうすればよいですか?
FATへの最初のフォーマットはスーパーブロックをクリアしましたが、すべてのファイルとディレクトリはまだそこにありましたが、ファイルシステムで参照されなくなったため使用できなくなりました。 (経験の浅いユーザーは、ディスクをフォーマットした後、コンテンツの99%がまだそこにあるという事実に驚かされることがよくあります。したがって、中古ディスクを販売する予定がある場合は、単純なフォーマットは絶対に行わないでください。すべてのコンテンツを少しずつ安全にワイプしてください! )mke2fs -n
は、ext4ファイルシステムのバックアップスーパーブロックの場所を表示しました。これは、FATにフォーマットする前のファイルシステムでした。したがって、そのスーパーブロックは「正しい」スーパーブロックでした。 e2fsck -b
は、その場所にあるスーパーブロックを適用しました。これにより、データフラグメントを/lost+found
でリカバリできました。
EXT4からFATへのフォーマットでは、スーパーブロックはクリアされますが、iノードなどのファイルシステムの他の部分はクリアされません。
フォーマットするとスーパーブロックはクリアされますが、iノードはディスク全体に分散しているため、iノードはクリアされません。 where正確に分散しているのは、ファイルシステムのタイプによって異なります。たとえば、EXT2/EXT3ファイルシステムのスペースはブロックに分割され、ブロックグループにグループ化されます。 iノードは、各ブロックグループのデータブロックの直前に格納されます。また、前述したように、フォーマットによってディスクの大部分がそのまま残ります。
バックアップスーパーブロックはいつ作成されますか? Justin DaviesによるSUSE Linux 9 Bibleによると、「バックアップスーパーブロックはEXT2またはEXT3ファイルシステムが作成されるときに作成されます。」パーティションを再フォーマットすると、バックアップスーパーブロックが再フォーマットされると思います。
いいえ、メインスーパーブロックのみが消去されます。前述のように、バックアップスーパーブロックはディスクの他の場所にあり、メタデータ(inodes ...)やファイルなどの形式では消去されません。ただし、それらはmight新しいfsのバックアップスーパーブロックによって上書きされます。これは新しいfsタイプに依存します。