状況
Windowsのクリーンインストールをするために、HDDに全部のデータをバックアップした。
そのHDDのデータが破損してHDD内のファイルを開けなくなってしまった。
余談だが、このサーバーのSSHキーがそこにしかないことに気づいたのはそのすぐあと。
このSSHキーをサルベージしないとこのサイトのSSL証明書の更新設定のミスを修正できない!
というかもうこのサーバー消して再度作り直すしかない!!
とりあえず復元操作
データの破損といっても破損したのはおそらくパーティションテーブルとかMBR(マスターブートレコード)とかの部分(ドライブ自体にファイル操作でアクセスできないのでデータ部分の破損は確認できなかった)。でいろいろパーティションいじってたら間違ってパーティションテーブル消してしまってパーティション復元ツールを使う必要が出た。
「パーティション復元 フリーソフト」とか「データ復元 フリーソフト」で調べるとAOMEIとかEASEUSとか出てくるけど、まあフリーソフトという名の体験版なのでパーティションの復元は有料っぽい(どっちかは無料でできそうな雰囲気があったけど普通に失敗した記憶)。というかなんであれらのソフトは、あんなに検索トップとかおすすめとして出てくるのか。これがSEO対策とかアフィリエイトの力か。。。
そして、数か月放置してしまった。
オープンソースのデータ復元プログラム「TestDisk」
ついに見つけた。オープンソース。やはりデータ復元ソフトをオープンソースとして開発してるのあったよ。みんな考えることは一緒か
これ使ってパーティションテーブルの再構成とかを行った。
正直CUIで何が行われたかよくわからんけど、適当にいろいろ試してたらデータ読み込めるようになったからよし!
これでデータにアクセスできるようになったので、今のうちとばかりにすべてのデータを別のディスクにバックアップして当該HDDはフォーマットして今回の件は一件落着。
なんか一部データ壊れてそうだったけど、どうせ過去は振り返らないのでもう全部消してもいい気はしてる。
データ復元できた
ちゃんとSSHキーも復元できたので無事SSL証明書の更新のプログラムも修正できた。
めでたしめでたし。
暇になったらこのオープンソースのプログラム読んでみようと思う。
あと自分の中でいろいろ用語があいまいなことに気づいた。
「パーティションの復元」とか「パーティションテーブルの再構成」とか「マスターブートレコードの書き直し」とか違いをあまり正確に認識できてない。「データ復元」もかな。
なんとなく以下のイメージ。
パーティションの復元:パーティションのすべてのデータを復元すること。そのパーティションのデータをバックアップする感じ?壊れた部分を直すのではなく、残っているデータを吸い出すイメージ
パーティションテーブルの再構成:パーティション内のデータの位置情報を復元する。ディスクに記録されているパーティションのデータ自体に再アクセス可能にする。
マスターブートレコードの書き直し:パーティションテーブルの再構成も含むがより広くディスクのデータへのアクセス全般に必要な情報を再構成する。
データ復元:パーティションの情報とか無視して直接バイナリデータで読み込んでそれぞれのファイルのデータを復元する。壊れた部分を直すのではなく、残っているデータを吸い出すイメージ
またそのうち勉強しよう
コメント