イメージ書き込みによって失われたハードディスクのパーティションを復元する

イメージ書き込みによって失われたハードディスクのパーティションを復元する

1TB の外付けハード ディスクを持っています。誤って、自分の SD カードのイメージ (Windows 8 のソフトウェアを使用) を開いて、「書き込み」ボタンをクリックしました。その後、すぐに停止しました。しかし、イメージをフラッシュしてから数秒以内にすべてのパーティションが失われていたことにショックを受けました。

イメージ書き込みによって生じたパーティションを復元する方法はありますか? また、ハードディスクのサイズが SD カードと同じサイズになるのはなぜですか (前述のイメージのため)?

「TestDisk」という強力なソフトウェアを試してみましたが、残念ながらすべて失敗しました。

答え1

1TB ディスクがどのようにパーティション分割されているかご存知ですか? パーティションが 1 つだけのデータ ダンプ ディスクでしたか? どのようなファイル システムでしたか? NTFS ですか?

NTFS ファイル システムでは通常、パーティションの最後のセクターにバックアップ ブート セクターがあります。ディスクにパーティションが 1 つしかない場合は、ディスクのほぼ最後にあります。これを行うには、ディスク 16 進エディターを使用することをお勧めします。ディスクを開き (通常、通常のファイルではなくディスクを開くための特別なオプションがあります)、ディスクの最後を確認します。どこかに、最初の数バイトに文字列 "NTFS" があるセクターがあるはずです。それが、探しているバックアップ セクターです。

ディスクの最後のセクターに「EFI PART」という文字列がある場合は、GPT パーティション ディスクであるため、パーティション テーブルを最初から作成するのは (16 進エディターのみで) 少し難しくなります。

「EFI PART」文字列は見つからないが、最後のセクターのどこかに NTFS 文字列が見つかった場合は、次の操作を実行します。

a) 新しい空の MBR パーティション テーブルを作成します (セクター 0 の最後の 66 バイトを削除し、セクター 0 の最後の 2 バイトに 55 AA を入力します)。 b) 次の値を持つ新しいパーティション エントリを作成します (末尾の 66 バイト前から開始)。00 00 FF FF FF 07 FF FF FF 00 08 00 00 XX XX XX XX 最後の 4 バイト (XX XX XX XX) は、実際にはディスク サイズによって異なり、オフセット 0x28 の NTFS バックアップ セクターで見つかった値に 1 を加えた値と一致する必要があります。 c) バックアップ NTFS ブート セクターをコピーして、セクター 2048 に貼り付けます。

NTFS マスター ファイル テーブル (MFT) のデフォルトの場所は、ディスクの 3 GB にあるクラスター C0000 です。したがって、SD イメージのディスクへの書き込みを実際に停止した場合、MFT 自体はそのままである可​​能性が高くなります。おそらく破損しているのはボリューム ビットマップとミラー MFT ですが、これらは通常、chkdsk (または scandisk) を実行することで修復できます。

ディスクの先頭を有効な新しいファイル システムで上書きしたため (少なくとも部分的に)、testdisk プログラムが何かを見つけるのに苦労する可能性があります。そのため、どこかで外部のマスター ファイル テーブルを見つけようとはしない可能性があります。

関連情報