ddコマンドを使用して「壊れた」ディスクをコピーする

ddコマンドを使用して「壊れた」ディスクをコピーする

バックアップ用に外付け Seagate ハードディスクを持っています。現在、ディスクにアクセスできません (まだ dd コマンドを使用していません)。Windows コンピュータに接続すると、ディスクにアクセスする前にフォーマットする必要があると表示され、Ubuntu 12.04 を実行している Linux ではマウントできませんが、hwinfo --diskターミナルで使用すれば見つけることができます。友人から Linux の dd コマンドについて聞きましたが、危険であることは知っています (入力を出力として、出力を入力として設定するとデータが失われます)。「dd if=/dev/sdc of=/dev/sdb」を試したところ、「アクセスが拒否されました」と表示されたので、少なくとも何も上書きされていないと思います。hwinfo と Ubuntu にインストールされているディスク処理マネージャによると、sdc は Seagate ディスクで、sdb は同じ容量の内部ディスクで、空です。データを復元するにはどうすればよいか (dd で復元できる場合)、何かアイデアはありますか? それとも、ディスクがあまりにも損傷していて復元できないのでしょうか?

答え1

RAWハードディスクの読み取りや書き込みにはルート権限が必要です。そのため、

sudo dd if=/dev/sdc of=/dev/sdb

そうは言ってddも、ディスクのすべてのパーティションを含むディスクの生のコピーが少しずつ作成されます。何も修復されませんが、上記のコマンドを使用して、破損したディスクから正常なディスクにデータをコピーし、データのコピーを修復してみるのは良い考えです。そうすれば、何か問題が発生して修復の試みがさらに損害を与えてしまった場合でも、不良データのオリジナルが残っているので、新しいコピーを作成できます。

このようにして不良ディスクのクローンを作成したら、ディスクを取り外します。その後、コピー上で実際のリカバリを開始できます。1 つのツールは でfsck、次の方法で実行できます (繰り返しますが、ルートである必要があります)。

sudo fsck /dev/sdb1

/dev/sdb1はディスクの最初のパーティションになります。パーティションが複数ある場合は、 などについて同じ手順を繰り返し/dev/sdb2ます/dev/sdb3

これによってデータが回復されるという保証はありませんが、回復されなかった場合でも、損害の種類とさらに調べるべき場所のヒントが得られます。

関連情報