以前に削除されたパーティションを含むMBRテーブルがあります。
サードパーティのツールやtestdiskなどのソフトウェアを使用せずにMBRパーティションエントリを再構築し、削除されたパーティションを回復する方法はありますか?
答え1
答えは「ちょうど置いておきなさい」のように簡単かもしれませんし、非常に複雑かもしれません。私は私の歴史の中で2つのMBR事故を経験しました。 MBRテーブルからパーティションを「削除」するためのより多くの方法があります。 cliプログラムとGUIプログラムを使ってディスクの最初の512バイトを動作させます。 MBRには、4つの基本パーティションを表す4つのレコードがあります。ただし、GUIプログラムは拡張MBRを自動的に使用するため、回復調査が複雑になる可能性があります。原則として、2つの目標に従うことができます。 - 元のMBRを復元し、 - 元のパーティションの内容を保存します。基本的なLinuxツールを使用するか、洗練されたGUIプログラムを見つけることができます。ディスクの空き容量が十分な場合は、元のディスクに触れるのではなく、最初にビットコピー(ディスクイメージ)を作成することをお勧めします。 R-Studioプログラムはうまく動作しますが、ライセンスについてはわかりません。ネイティブパーティションファイルシステム(NTFS、ext3)の種類がわかっている場合は、起動署名を取得できます。失われたパーティションの元のサイズと順序について念頭に置いているすべての情報は、スキャンする必要があるスペースを減らすのに役立ちます。たとえば、最初の20 GBと2番目の200 GBという2つのパーティションがあることを覚えている場合、最初のパーティションの先頭はディスクの先頭に近く、2番目のパーティションの先頭はディスクの先頭にあると判断できます。あります。セクター 39062500 44040192 の間で発見されました。 NTFSを探していると仮定すると、次のように署名を取得できます。
$ hd disk_image.dd -s20000000000 -n2548578304
RAWディスクからこれらのコマンドを実行するには、root権限が必要です。
パーティションの先頭が正常に見つかった場合は、見つかったパーティションを保存して新しいMBRを作成し、そのパーティションに十分なスペースを確保してから、保存したパーティションを新しい場所にコピーするのが簡単になります。また、一部の標準ツール(、、、)を使用してバイトをセクタとして再計算し、MBRテーブルを再構築しようとすることもできますが、fdisk
結果が期待できない場合があります。sfdisk
詳しい情報をお寄せくださいparted
。つまり、ディスク容量、元のパーティションのサイズ(またはおおよそのサイズ)、パーティションの削除方法、MBRの復元に使用されたオペレーティングシステムなどは何ですか?いくつかのファイルを見つけて保存する必要がある場合は、sleuthkitなどの特別なツールを使用できます。
答え2
すべてのファイルシステムに兆候。したがって、パーティションがどのファイルシステムを使用しているかを知っている場合は、16進エディタを使用してブロックデバイスを開き、ファイルシステムを検索できます。ファイルシステムはパーティションの先頭(またはその近く)から始まる傾向があるため、ファイルシステムの先頭を見つけると、パーティションの開始セクタも見つかった可能性が高くなります。
パーティションは、次のパーティションが開始する前に終了する傾向があるため、最後のパーティションを除いて終了セクタを決定する方法です。
開始/終了セクターがある場合は、パーティショニングツールを使用してこれらのパーティションを作成できます。それから祈り、ファイルシステムをマウントしてみてください。
もちろん、このプロセスを困難または不可能にする状況があります。
- ファイルシステムが暗号化されたブロックデバイス(LUKSなど)に保存されている場合。
- 仮想マシン用のファイルシステムまたはディスクイメージがあるかどうか。追加情報がないと、ディスクイメージとパーティションの違いがわかりません。
上記の内容は基本的にtestdisk
自動化されたものです。