概要
破壊されたRaspberry PiのSDカードデータの復元にトライし、目的ファイル(主にPythonのスクリプト)を復元できた。
破壊の原因:Raspberry Piでpower off コマンドを使わず直接電源を落としたこと(と思われる)
復元環境:PC=Idea Pad Yoga 13(Lenovo)、OS=Windows8.1、SDカードスロットにデータ破壊したカードを挿入、ZAR X(後述のファイル復元ソフト)を使用して復元をトライ
背景と目的
最近、Rasberry Piを使っていたところ、ネットワークにつながらずHDMIから映像も出ずシャットダウンコマンドが入力できなくなったため、やむなく電源を落とした。しかし、SDカードのデータが壊れてしまい、起動しなくなってしまった。今までに作ったプログラムのバックアップをしていなかったので、OSはともかくそのファイルだけは復活させたい。そこで、ファイル復活にトライする。
詳細
まず、故障の様子としては、電源を入れると起動画面は出るものの、途中で止まってしまう。OSのデータの大部分は残っているようだが、起動に支障をきたすようなデータ破壊があるようだった。
Webで同様の状況に対する回復例を探したところ、Linux関係のファイル復元に関する情報はたくさんあったが、私自身Linuxの知識が乏しいため、それらの方法を試せそうになかった。なので、1週間ほど悶々とし、あきらめかけていたところこちらのサイトで使用されているZAR Xというファイル復元ソフト(フリー、一部有料)が見つかった。これは、Linuxのext4というファイルシステムも復元の対象となっていて、WindowsPCで動くので、私にも復活の望みをかけ試すことにした。
まずはこちらからWindows版をダウンロード、インストール、対象のSDカードをPCに挿し、ZAR Xを起動したところ、図3.1のようにメニューが表示された。

図3.1 起動したところ
上から2番目のData Recovery for Windows and Linuxというボタンを押すと、SDカードのスキャンが始まり、1時間近くかかったが、図3.2の復活対象を選択するためのフォルダツリーが表示された。フォルダ名は正しくないが、ファイル自体は無事なようで、目的のファイルがツリーにあることが確認できた。ここでファイルを選択し、Nextボタンを押すと、ファイル出力先フォルダを指定して出力できた!ついに、復活に成功!

図3.2 フォルダツリー
というわけで、目的ファイルすべてをWindowsPCへコピーすることができた!あとは、SDカードを初期化してOSをインストールとファイル配置をしなおせば、システムを復活できる。だが、このトラブルに遭遇し、
・重要なプログラムファイルはバックアップを取る
・安全に電源OFFできるハードウェアボタンをつける
という基本的なことをめんどくさがってはいけないということが身に染みてわかった。次のシステムはこれらを必ず行うようにしようと思う。
まとめと今後の課題
無事目的のファイルを復元することができたが、ファイルバックアップという基本を怠ってはいけないということが身に染みてわかった。

コメント