マウントできなくなったHDDから、testdiskを使用して、ファイルをサルベージしてみた

USB接続で使用していた4TBのHDDが、突然使用できなくなりました。
マウントできないと・・・
f:id:Z1000S:20180702221411p:plain

根本的な原因は不明なのですが、ラベルが書き換わって、openSUSE-Leapとなっていましたし、
中途半端に、ddコマンドが実行されたような感じでしょうか?
openSUSEは、インストール用としてUSBメモリに書き込むために以前使ったことはありますが
現在は、内蔵HDDには残っていません。

f:id:Z1000S:20180702220751j:plain

主にバックアップ用として使用していたので
いろいろと大切なファイル(そう、あんなファイルやこんなファイル・・・)を保存していたので
困ってしまいました。

唯一救いだったのが、OSのインストールされたHDDではなく
外付けのHDDだったので、不要な書き込みによる上書きの心配が少なかったことでしょうか。

諦めてフォーマットしてしまおうかと思ってみたものの
少しくらいは悪あがきしてみて、駄目なら諦めようと調べてみると
testdiskというツールがあるらしく、それを使ってみることにした。

HDDの情報が書き換わったPC(Manjaro Linux)でサルベージするのも嫌だったので
別のPC(Antergos)で作業することに。

pacmanで検索すると、testdiskが見つかったので、即インストール。

端末から、コマンドを入力して開始。
f:id:Z1000S:20180702221033p:plain

最初にログの作成方法について聞いてきた。
初めてなので、新規にログを作成するので、「Create」が選択された状態でEnter
(ログは、自分のHOMEディレクトリに作成されました。 /home/z1000)
f:id:Z1000S:20180702221243p:plain

次に認識されたHDDのリストが表示されるので、対象となるHDDを選択して
[ Proceed ]を選択して、Enter
f:id:Z1000S:20180702221756p:plain

次は、パーティションテーブルの種類。
今回のLinuxの場合には、[ Intel ]を選べばOKなようです。
f:id:Z1000S:20180702222029p:plain

事前の準備が住んだところで、まずは分析
[ Analyse ]を選択して、Enter
f:id:Z1000S:20180702222150p:plain

現状で、OSが認識している状況が表示される(?)ようです。
[ Quick Search ]を選択して、Enter
f:id:Z1000S:20180702222245p:plain

そうすると、以前の状況らしきものが見えてきた。
f:id:Z1000S:20180702222553p:plain

キーボードから「P」を入力すると、ファイルリストが表示されるようです。
f:id:Z1000S:20180702222726p:plain
2018/7/3 修正
赤い文字のファイルやディレクトリは、復元できないものなのかもしれない。
赤い文字のファイルも復元はできるようです。


↑↓で、ディレクトリやファイルを選択でき、
←→で、ディレクトリの親や子に移動できるようです。
f:id:Z1000S:20180702223326j:plain

サルベージしたいファイルやディレクトリを選択し、
キーボードの「C」を押下すると、コピー先を聞いてきます。
f:id:Z1000S:20180702223621j:plain

あとは、移動先を選択し、Enterを押下すればコピーが始まります。
f:id:Z1000S:20180702223842j:plain

選択したファイルは、階層付きでコピーされました。
f:id:Z1000S:20180702224441j:plain

この調子で、他のファイルも・・・

2018/7/3 追記
USBメモリのファイルを削除して、同様に操作したら、
削除したファイルを復元できました。
復元されたファイルの所有者、グループはrootでした。
ファイル名によっては、元のファイル名を復元できない場合もあるようです。
(省略形のような名前で復元されたりする場合があるようです。)