web-dev-qa-db-ja.com

ddrescueを使用して、障害のあるNTFSディスクからデータを取得する

Windows 8コンピューターで障害が発生したディスクのユーザーデータを保存しようとしています。 Windows 8ラップトップで読み取ることができなかったHDDを取り外し、パーティションを認識できるがマウントできないOS Xマシンに接続しました。 (ntfs-3gもどちらもできません)。

diskutil listは以下を示します。

/dev/disk8 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk8
   1:                        EFI ESP                     524.3 MB   disk8s1
   2: 786BA1D3-6BAF-4D9G-B621-461EB71A4965               41.9 MB    disk8s2
   3:         Microsoft Reserved                         134.2 MB   disk8s3
   4:           Windows Recovery                         513.8 MB   disk8s4
   5:       Microsoft Basic Data                         985.0 GB   disk8s5
   6:           Windows Recovery                         471.9 MB   disk8s6
   7:           Windows Recovery                         367.0 MB   disk8s7
   8:           Windows Recovery                         13.2 GB    disk8s8

HDDの内容を回復するためにddrescueを使用しています...現在、次のコマンドを使用しています:

Sudo ddrescue -n /dev/rdisk8s5 ./backup.dmg mapfile

実際のユーザーデータがパーティション#5にあるという仮定に基づいて...

これまでのところ、数日後、ddrescueの現在の出力は次のようになります。

GNU ddrescue 1.20
Press Ctrl-C to interrupt
Initial status (read from mapfile)
rescued:   126523 MB,  errsize:       0 B,  errors:       0

Current status
rescued:   261066 MB,   errsize:         0 B,    current rate:  19202 kB/s
   ipos:   456274 MB,    errors:         0,      average rate:   1568 kB/s
   opos:   456274 MB,  run time: 23h 49m 38s,  remaining time:         n/a
time since last successful read:          0s

私が持っているので、ランタイムはオフになりますctrl-c数回、一度は.dmgでfileを試して、何かを判別できるかどうかを確認します(いいえ)。

私が知ることができることから、それはdmgをiposoposの相対サイズに膨らませていますが、私が理解していることから、回復されたデータの実際のサイズはrescued量です。

私が気づくのは、平均レートが1568kB/s、約5〜10秒間、1分〜2分ごとにしか読み取れないようです。


上記の情報から、私は現在、このパスが完了するのを待っています(推定、dmgのサイズ(ipos/oposサイズ)に基づいて)合計で100時間になるはずですが、それを2倍にする必要があるかどうかはわかりませんrescuedサイズを半分にします(保存するために2倍のディスク容量が必要ですか?)

ディスクリカバリの経験がある人なら誰でも、次の質問があります—

  1. これはどうですか?エラーは表示されませんが、自分のPCでディスクを読み取ることができず、Macでもマウントできないため、データの回復について悲観的です。

  2. 「完了」したら... .dmgに保存されているデータにアクセスするために何が必要ですか-Windows 8の暗号化は実行されるものですか?

  3. 保存されるDMGに2倍のディスク容量が必要ですか?救出サイズはdmgとipos/oposの半分です。またはドライブがすべての半分しか回復していないような悲惨な状態にあります。

使用されているドライブスペースが1 TBユーザーデータの近くにあるとは思わない...

その他の提案は大歓迎です。

3
uglycat

免責事項:私はRecuperaBitの開発者です。この回答は この回答 の要約であり、OPによるフィードバックと混合されています。

ddrescueコマンドは、5番目のパーティション(/dev/rdisk8s5)のみを複製しています。これは、パーティションテーブルが正しいことが確実な場合に適しています。ただし、十分なスペースがある場合は、ドライブ全体をクローンすることを強くお勧めします

.dmgfileを一度お試しください

ddrescueはドライブの生のビットストリームコピーを作成することに注意してください。そのファイルは、どのように呼び出しても、DMGファイルではありません。通常、.img拡張子を使用するか、場合によっては.ddを使用します。

自分のPCではディスクを読み取れず、macでもマウントできないため、データの回復について悲観的です

確かに、正常に機能するパーティションは返されません。ただし、NTFS構造が部分的に破損している場合でも、破損していないデータの部分を回復することは可能です。

ドライブの破損がわずかな場合は、testdiskを試すこともできますが、fileがNTFSシグネチャを検出しなかったという事実は、状況がさらに悪いことを示しています。

保存されているデータにアクセスするために必要なこと

フォレンジックNTFS再構築用のオープンソースソフトウェアである RecuperaBit を使用できます。それが使用するアルゴリズムは、私の MSc論文 で説明されているボトムアップ再構成を実行します。主なポイントは次のとおりです。

  • ドライブ全体をスキャンしてファイルの痕跡を探します
  • ディレクトリツリーまたはその復元可能な部分を再構築します
  • 正しい名前でファイルの内容をエクスポートできます

作成したイメージファイルに対してツールを実行するには、出力ディレクトリを作成し、次のコマンドでRecuperaBitを起動します。

mkdir /path/to/another/drive/recovered_files
cd [full path of recuperabit]
pypy main.py /path/to/backup.dmg -o /path/to/another/drive/recovered_files -s /path/to/another/drive/recovered_files/savefile.save

-sオプションは、同じディスクイメージでの以降の実行で再度ロードできる、興味深いセクターの有用なログを保存します。

スキャンプロセスの後、NTFSパーティションのジオメトリの決定が開始されます。 recoverableコマンドを実行してパーティションを確認し、次に復元します。パーティション#2

restore 2 5
restore 2 -1

ここで、5Rootディレクトリを意味し、-1Lost Filesディレクトリを意味します。ドライブが破損しているため、Lost Filesディレクトリに多くの興味深いものが見つかります。

他の回答 をチェックして、いくつかの注意事項と制限事項を確認してください。

ちなみに、特定のケースでは プログラムにわずかにパッチを適用した なので、プルリクエストとしてパッチを送信できればいいでしょう。

5