Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> EXT3スーパーブロック(不正なスーパーブロック)を回復する正しい方法

EXT3スーパーブロック(不正なスーパーブロック)を回復する正しい方法

  

数日前、LinuxのExt3ファイルシステムのスーパーブロックエラーの問題が発生しました。

.... /dev /hdc1上の不正なスーパーブロック同僚が行った回復、その結果、データが消去されました後に、当時の直接のfsck回復方法は間違っていると思いました。正しい方法は次のようになります。

1間違ったエラーディスク(またはデバイス)を入手するブロックのサイズそれを取得するには多くの方法がありますたとえば、#tune2fs -l /dev /hdc1は現在のエラーディスクバックアップでは実際には1 Kです2スーパーブロックを復元するプロセスも危険のプロセスバックアップはバックアップとして行うことができます。アイドル状態のデバイスが他にもある場合は、ddコマンドを使用してデバイスの内容をバックアップします。

3一般的に、スーパーブロックは基本的にメインスーパーです。ブロックエラー、Ext2 /Ext3ファイルシステムが作成されると、いくつかの場所でスーパーブロックをバックアップするように画面に表示されますので、どうやってこれらのスーパーブロックがどこにあるのかを調べますか?ヘルプ情報を見てみましょう: superblockを使用する代わりに通常のスーパーブロックは、superblockで指定された代替スーパーブロックを使用しますバックアップスーパーブロックの位置は、ファイルシステムのblocksizeに依存します1kブロックサイズのファイルシステムでは、バックアップスーパーブロックは次の場所にあります。ブロック8193、ブロックサイズが2kのファイルシステムの場合はブロック16384、ブロックサイズが4kの場合はブロック32768。

-nオプションを使用してmke2fsプログラムを使用し、スーパーブロックが作成された場所を表示します。表示されるスーパーブロックの位置を正確にするために、ファイルシステムのブロックサイズを指定するmke2fsの-bオプションを指定する必要があります。

代替スーパーブロックが指定され、ファイルシステムが読み取り専用で開かれていない場合ファイルシステムのチェックが完了すると、e2fsckはprimarysuperblockが正しく更新されていることを確認します。

4リカバリを開始しますファイルシステムのブロックサイズが1Kの場合、次のようにします。回復させてください:

#/sbin/fsck.ext3 -b 8193 /dev /hda4この予備ブロック(8193)に問題がある場合は、24577(8192 * 3 + 1)または40961(8192)を試してください。 * 5 + 1)。

スーパーブロックが1、3、5、7と同じ方法で保存されていることもわかります。特定の位置はBlockSize(8192)です* N + 1 500Mを超える空間ではこのような法律ですが、500M未満であるかどうかはわかりません。

Copyright © Windowsの知識 All Rights Reserved