不良ブロックを「リセット」することは可能ですか?

不良ブロックを「リセット」することは可能ですか?

ディスクに問題があったので、 を実行しましたbadblocks

だから今、私が走るときdumpe2fs(これもe2fsprogs):

sudo dumpe2fs -b /dev/sdc1

次のような不良な badblocks のリストが表示されます:

dumpe2fs 1.41.11 (14-Mar-2010)
192
1592
2416
3112
3552
...

しかし、実際には、問題はディスクではなくラックから来ていることに気付きました。ラックを eSata で使用していたのですが、読み取りエラーが頻繁に発生しました。今は USB に切り替えましたが、速度は落ちますが、エラーはまったく発生していません。

私の質問は次のとおりです。

どうすればリセットinode #1 (badblock inode) に保存されている badblocks リストですか? (もちろん、再フォーマットは不要です!... 解決策が見つからない場合は、これが最後の手段です)

どうやらブロックはまったく「不良」ではなく、ラックに欠陥があるためにそのように報告されたようです。


編集:ディスクを USB に接続した後、別の badblocks を実行しようとしましたが、成功しませんでした。以前に検出された不良ブロックが残っています。実行したのは:

sudo badblocks -i /tmp/emptyList -s /dev/sdc1

ファイル/tmp/emptyListは空なので、badblocks既知の不良ブロックの空のリストが提供されます。しかし、どうやら、これは不良ブロックのリストではなく、inode #1 で宣言されている既存の不良ブロックに追加される不良ブロックの追加リストです。 ドキュメント(男性)それについてはあまり正確ではありません。

答え1

注意:これは危険な操作です。リスクが何であるかを完全に理解していない場合は実行しないでください。

今やりました:

sudo debugfs -w /dev/sdc1
clri <1>
quit

これクリアファイルシステム上の inode 番号 1 (不良ブロック リストを含むもの)。

その後、e2fsck再度実行してさまざまなものをリセットすれば完了です。

関連情報