web-dev-qa-db-ja.com

テストディスクが間違ったサイズのドライブを表示している

testdiskを使用して、破損したハードドライブのデータを回復しようとしています。私はすべてを実行し、クイック検索を実行し、より深い検索を行い、testdiskによってファイルが見つかったことを確認した後、パーティションテーブルを作成しました。コンピューターを再起動しました。だから、今、私はさらに大きな問題を抱えていると思う。ハードディスクはtestdiskに2199GBのドライブとして播種されており、testdisk FAQで推奨されているようにSATAポートに直接接続すると、BIOSでも正しく認識できず、できません。 testdiskを再度実行します。通常サイズ(500GB)のドライブが認識されないためです。

データを回復しようとして読み取り専用でドライブをマウントしようとしても機能しません。"NTFS is inconsistent"というメッセージが表示されます。

Windows Disk Managerでドライブを表示しようとしましたが、表示されるまでに非常に長い時間がかかり、そのサイズに関する情報がなく、未加工のまま表示されます。

enter image description here ドライブを認識する際のtestdiskの出力。私の個人的なハードドライブ(sda)と回復したいドライブ(sdb)の両方が500GiBと表示されていることがわかります。

注意すべき点の1つは、sda(私のハードドライブ)がリストに占めるディスク容量は、回復したいハードドライブが占有するディスク容量であるということです。実際、HDで占有されるディスク容量は110GBです。

LEDが点灯し、ディスクが動作していると感じることができるため、ドライブが停止していないことを確認できます。

smartmontoolsまたはgsmartcontrolを使用してハードドライブの状態を確認すると、次のようになります。

enter image description here ドライブの詳細画面

それは大学と修士号の資料を進化させるため、そのデータを回復することは非常に重要です、そして私の最後のバックアップは1ヶ月前からです(バックアップの外部USBドライブで利用可能なスペースのために毎日それを行うことはできません)。

誰かが助けてくれるといいのですが、多くの人がこの問題を抱えていることも知っています。

有用な知識になり得る事実:

  • R-Studioデモは私のテストでは役に立たなかった。ドライブをプラグインした状態で開こうとすると、プログラムが機能しない/応答しない。

  • WD Lifeguard Diagnosticは、テーブル上のドライブを表示しないため、校正にも役立ちません。

  • ドライブは精神的に損傷を受けているようには見えません。

編集1:

要求どおり、[ Geometry ]画面: enter image description here

真のディスク容量を表示するように数値を調整する必要がありますか、回復オプションがありますか?

EDIT 2:ドライブはWD Blue、モデルWD500LPVXです

EDIT 3:コマンドparted -l /dev/sdbの出力は次のようになります。 enter image description here

しばらく実行した後、Sudo grep -abiro "NTFS " /dev/sdbコマンドの出力が表示されました。

grep: /dev/sdb: Input/output error

印刷を修正すると、partedコマンドを実行する前にsdbがアンマウントされたように見えます。上の画像は実際の出力です。

注目すべき点は、最初の出力が約20秒かかった後のgrepコマンドは、ドライブを外さずにコマンドを再度実行すると、即座に同じ出力が得られることです。

編集4:

ddrescueは数時間実行されていますが、次のように出力の動作に奇妙な点がいくつかあります。

最初に、status.logファイルのいくつかの行のサンプル:

# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue /dev/sdc /media/sidious/Supply/dotk/bkpHD/copy.img /media/sidious/Supply/dotk/bkpHD/status.log
# Start time:   2016-07-29 01:05:36
# Current time: 2016-07-29 01:30:51
# Copying non-tried blocks... Pass 1 (forwards)
# current_pos  current_status
0x8482360000     ?
#      pos        size  status
0x00000000  0x00010000  *
0x00010000  0x00010000  ?
0x00020000  0x00010000  *
0x00030000  0x00020000  ?
0x00050000  0x00010000  *
0x00060000  0x00040000  ?

こんな感じでしょうか?

次に、コマンドの出力は次のとおりです。 enter image description here

rescuedipos、およびoposに表示されている値が間違っているかどうかはわからないので、このようにする必要があるかどうかを誰かに尋ねてください。ドライブの実際の容量は500GBで、表示されている数値の一部はそれより大きくなっています。

また、copy.imgファイルのサイズは0バイトです。これは、コピーされるデータがないこと、または回復する必要のあるデータがないことを意味しますか?

EDIT 5:

長いプロセスと待機の後、プロセスを続行するためにドライブを何度も再接続すると、ddrescueが終了したように見えますが、.imgファイルには0バイトがあります。私は何か間違ったことをしましたか?私はちょうど与えられた指示に従った。

EDIT 6

ドライブが「死んでいない」場合、エラーを解決するために与えられたプロセスがほとんど機能するため、この質問を解決済みとしてマークしています。特にAndrea Lazzarottoに考えを与えてくれたすべての人に感謝します。

5
inblank

ドライブは精神的に破損しているようには見えません。

幸いなことに、ハードドライブには感情がありません。 ;)ただし、ドライブが物理的に損傷しているように見えるか、少なくとも障害が発生していることをお知らせします:

ドライブを外さずにコマンドを再度実行すると、即座に同じ出力が得られます

これは基本的に「良くない」という意味です。

この場合に絶対に必要なことは次のとおりです。

  • ドライブの書き込みを停止します(パーティションテーブルをtestdiskで書き直そうとするのを既に停止しています。これは良いことです)
  • 故障したドライブのビットストリームコピー(別名イメージファイル)を作成する

ドライブを複製する

まず、ddrescueパッケージを使用してgddrescueツールをインストールします(gnotタイプミスです) 、故障したドライブの正確なコピーを作成し、できるだけ多くの情報を複製するために使用されます。私は基本的に 私の私のこの答え 関連する質問について引用します:

Sudo ddrescue /dev/sdb /media/user/External/copy.img /media/user/External/status.log

status.logファイルは必須ではありませんが、プロセスを一時停止して後で再開する場合に必要です。

ご覧のとおり、500GBドライブ全体のコピーを保持するのに十分な大きさの別のドライブ(基本的には、少なくとも1TBのハードディスク)が必要です。私の例では、/media/user/Externalにマウントされています。例を状況に合わせて調整してください。

ddrescueツールは、その進捗を/media/user/External/status.logファイルに保存します。 これは非常に便利ですI/Oエラーによりドライブが「消える」可能性があるためです(grepping)。プログラムは停止します。ドライブを再接続し、同じコマンドを再度実行します。停止した場所から続行します。

さらに、ddrescueは最初に「良い」ブロックと「大きな」ブロックを読み取り、その後、すべての正常なビットが分離されるまで、1回の操作で読み取られるデータの量を削減しようとして、より破損した領域に戻ります。

ドライブは2TBドライブとして表示されますが、実際には500GBドライブです。したがって、ドライブをコピーするプロセスは500GBで停止します。

コピーでTestDiskを実行します

これで、以前と同じようにTestDiskを使用できますが、コピー上で:

Sudo testdisk /media/user/External/copy.img

パーティションのコンテンツを見るポイントに到着すると( P キー)、パーティションテーブルの書き込みに進まないでください。代わりに、 C 必要なデータの抽出を開始するためのキー(破損しないことが望ましい)。

この操作では、ファイルを抽出するために、ドライブ(ビットストリームコピーの保存に使用したドライブ、またはUSBキーなど)に空き領域が必要です。

TestDiskが失敗した場合

TestDiskが破損していないためにNTFSドライブにアクセスできない場合、RecuperaBitを使用して、説明したようにNTFS構造を再構築できます 上記の回答

免責事項:私はRecuperaBitの開発者です。

4