HDDのパーティションテーブルが消えてからのデータ復旧おおたの物置HDDのパーティションテーブルが消えてからのデータ復旧2014-10-03windowsTweet先日デスクトップPCのデータ用HDDが吹っ飛びました。原因は不明ですがデータは消えておらず、パーティションテーブルか完全に消えていました。復旧に成功したのでその手順をメモっておきます。初めは何故データが消えたのかわからなかったため、その調査から始めました。未フォーマット状態のディスクとして認識され、パーティションスタイルの選択から始まっていました。HDDは数ヶ月前に新調したものであり、異音やエラーなどの問題も無かったため、物理的な可能性は薄いと考えました。直前に大量にデータを書き込んでもいないため、データを削除した線も薄そうです。何らかの要因でパーティションが消えてデータが読み取り不能になり、データ自体は残っているのではないかと考えました。運良く手元にLinuxの起動ディスクがあったため、とりあえずパーティションがどうなっているかを確認しました。手順としては以下のようになります。HDDがsdaにマウントされていると仮定します。ddコマンドでHDDの先頭をコピーするddコマンドはディスクからファイルやディスクにデータをコピーできるコマンドです。count=100のようにすることで、sdaの先頭から100ブロック分を/tmp/hddファイルにコピーします。hexdumpコマンドで中身を見るhexdumpコマンドはファイルの中身を16進数で出力します。/tmp/hdd私の場合、hexdumpの出力が先頭50MBぐらい全て0だらけだったので、パーティションが全て0埋めされて消えていました。そのため、次にパーティションの復活を試みます。壊れたディスクはPBRにしていたため、MBRと比べて大変になる場合が多いらしいですが、TestDiskを使うと特に問題なく修復できました。詳しい使い方はこちら。書き込んでいないはずのWindowsディスクが壊れてしまい、データと引き替えにWindowsが消えてしまいました...幸いWindowsディスクには特に重要なデータを入れていなかったのと、Macからデータを読み出すことができたために難を逃れました。念のため、Windowsディスクは外して作業をした方がよさそうです。ota42yC++/Ruby/RoR/golang/rust/flutter。