不良セクタが原因で読み取れないファイルをどのように読み取ることができますか?

不良セクタが原因で読み取れないファイルをどのように読み取ることができますか?

ext3ファイルシステムと最新のLinuxディストリビューションがあります。

ファイルを新しいターゲットにコピー(読み取り)する必要があります。

残念ながら、cp/mvまたはMidnight Commander(MC)がファイル内の特定のポイントで停止/失敗しました。

一部のファイルは30%で非常に早く停止し、他のファイルは98%で停止し、システムログにセクタエラーが表示されます。

mv/cpただし、MCはファイルのコピーを続行できず、単にこのセクタ(および他のセクタ)をスキップしてI / O読み取りエラーが発生します。 MCで何度も試してみたが役に立たなかった。

現在のディスクの一部または一部のセクタを読み取ることができず、ファイルの残りの部分と他の通常の部分を読み続けたいので、これらのファイルは私にとって便利です。

ファイルの読みやすさを最大化するための良いツールや実証済みのメカニズムはありますか?最初のI / O読み取りエラーのため、常にゲームが終了します。

ファイルをより確実に読み込んで読み取れないセクタをプレースホルダバイトなどで埋める方法や便利なツールがあるかもしれません。

ext3Linuxはファイルシステムを搭載してこの目標を達成できませんか?

カーネルとしてのLinuxは、セクタエラーを読み込み、ファイルの次のセクタにジャンプするなどの方法を提供しますか?

syslogには、常にI / O読み取りエラーを引き起こす同じセクタ(ファイルあたり)が表示されます。これを明確にするために、これらのファイルで読むことができるセクタと正常な部分が多いと思います。

ベストアンサー1

ddrescuegddrescueパック、マニュアルページ)

ドライブに通常のパーティションテーブルがあると仮定すると、次の操作を簡単に実行できます。

  1. 故障したドライブパーティションのイメージファイルを通常のドライブに作成します(これを不必要に困難にしたくないため、ドライブ全体のイメージを作成しませんが、パーティションテーブルがブレイクになるには最終的に壊れる必要があります)。

  2. ログファイルを調べます(実際にはマップファイル(しかし、今は問題ではありません。)エラーの数に応じて適切な措置を講じてください。

  3. つまり、問題のあるパーティションのイメージファイルを直接マウントするか、testdiskパーティションテーブルが破損している場合は、ディスクイメージファイル全体で実行しようとします。これはパーティションの回復に最適なユーティリティです。パーティション。


sudo ddrescue --idirect --retry-passes=3 /dev/sdx9 recovery.img recovery.log

仮定:

  • ドライブ名は/dev/sdx

  • 回復するパーティションには番号が付けられています。9

  • 不良セクタを再試行する3回数

  • .イメージファイルを現在のディレクトリ()に保存しようとしています。

  • 画像ファイルを別の名前で保存したいです。recovery.img

  • ログファイルを保存する必要があります。これは非常に重要です! 、良いrecovery.log


すべてが順調に進んだら、イメージファイルをマウントするだけです。

sudo mount recovery.img /mnt/whateverMountPoint

何らかの理由でドライブが応答しない場合、またはエラーが発生した場合は、通常、システムを再起動して実行します。ほぼ同じ中断された部分からプロセスを再開するコマンド。


次のことを避けてください。

マウントされたファイルシステムについて言及したことがわかりませんでした。これは問題になる可能性があります。

ご存知のように、マウントされたファイルシステムのイメージを作成しないでください。代わりにLinux USBを作成して起動し、前述のように進めることをお勧めします。

おすすめ記事