概要

Linux Mint を起動できないくらいに壊してしまった。だがせめて、home 配下のデータだけは復元したい。しかしこれらは、暗号化する設定にしていたので、タダでは取り出せなかった。
このため、Linux Mint のLive DVD で起動してから、encryptfs-recover-private コマンドを使ってデータを復号した。

詳細

環境/道具

  • 壊してしまったOS:Linux Mint 18 Sarah MATE Edition 64bit
  • 使ったLiveDVD:Linux Mint 18 Sarah MATE Edition 64bit
  • 使ったファイルブラウザ:Caja 1.14.2

発端

愚かにも、OS内の”boot”,”bin”などの重要なディレクトリを削除してしまい(*_*)、OSが起動できなくなってしまった。
OSを再インストールする前に、せめて内蔵SSDに入っている自分のHome ディレクトリ内のデータだけは取り出しておきたい。
しかし、Home 配下を常時暗号化される設定にしていたので、使っていたOSの外側からデータをそのまま取り出すことができない。外側からHome 配下を覗いてみても読める個人データは何もなく、その代わりに隠しディレクトリの中に暗号化された意味不明な文字列のファイル/フォルダーが並んでいるだけである。

対処

以下の手順で、暗号化されたデータを復元した。

1. Linux Mint のLiveDVD(インストールDVD)でPCをブート

2. ファイルブラウザを起動

3. 適当なディレクトリーを右クリックして、[Open as administrator] をクリック。

4. ファイルブラウザが管理者として実行されていることを確認

【例】ファイルブラウザのタイトルバーに、(as superuser) という表示がある。

5. 隠しファイルを表示させる。

【操作例】メニューバーの[View] — [Show Hidden files] をクリック

6. 内蔵SSDの中をたどり、復元したいユーザーの.private があることを確認する。

【場所】内蔵SSDの/home/.ecryptfs/ユーザー名/.Private

7. 上記の絶対パスを控えておく。

【例】ファイルブラウザ(caja)のウィンドウの上部にあるペンのアイコンをクリックすると、
“Location:”フォームに、/media/mint/********-****-****-****-************/home/.ecryptfs/ユーザー名/.Private のように表示される。

8.[端末](コマンドライン)を開く。

9. 以下を実行:

上記の絶対パスを指定している。

sudo ecryptfs-recover-private /media/mint/********-****-****-****-************/home/.ecryptfs/ユーザー名/.Private

10. 以下のようにインタラクティブを選択

 Try to recover this directory? [Y/n]: —> Y
Do you know your LOGIN passphrase? [Y/n]: —> Y
INFO: Enter your LOGIN passphrase…
Passphrase: —> 壊れたOSで使っていた、データを復元したいユーザーのログインパスワード

⇒ 成功すると、以下のように表示される。

INFO: Success! Private date mounted at [/tmp/ecryptfs.********].

11. 上記でSuccess と表示されたパスを覗いてみると、復号化されたデータを見つけることができた。

なお、上記のパスの/tmp とは、LiveDVD によって一時的に作成されている領域である。内蔵SSDの配下にある/tmp ではない。

12. 上記で復元したデータを、外付けHDDなどにコピーして退避しておく。

参考ページ

How to Recover an Encrypted Home Directory on Ubuntu

所感

home 配下を暗号化していることに気づいたときは焦った・・・。
これまではディスクやフォルダーの暗号化などほぼしたことがなく、内蔵HDDが半壊したときには何も考えずに別のOSに外付けとしてつなげばたいてい復元できていたので。
今回は、homeが暗号化されていたが、なんとか復元することができた。

広告