削除したファイルを復活する

 定期的にバックアップをしていても,作ったばかりのファイルを誤って削除した場合は復元できません。特にLinuxの場合は難しいでしょう。しかしながら,助かる可能性はあります。

 まず,PCの電源を切ります。削除したファイルに上書きされてはどうしようもありませんので,すぐに使うのをやめるわけです。次にKNOPPIXを問題のPC上で起動します。

 次に,以下で紹介するコマンドが利用する作業領域(復元先)を確保します。作業領域はファイルを削除したパーティション・サイズの2倍以上が必要です。消してしまったファイルが所属するパーティションとは別のパーティションに確保しなければなりません。

 ここでは,/dev/hda2に復元したいファイルがあるとします。作業パーティションが/dev/hda3だとすると,最初に/dev/hda3をマウントします。次に,作業用のディレクトリを作っておきましょう。

 /dev/hda2もマウントしたら,いよいよ復元を始めます。デバイス内の空き領域(unallocated data blocks)を出力するunrmコマンドを使って,/dev/hda2のうち,ファイルに使われていない部分を/hda3/unrm/recoverに出力します。

 次に,lazarusコマンドを使って,巨大なrecoverファイルから,個々のファイルを抜き出します。

 lazarusコマンドに-hオプションを付けたのは出力結果をHTML形式にするためです。-Dオプションでlazarusコマンドが取り出したファイルの出力先を指定しています。


写真14 lazarusコマンドの出力
[画像のクリックで拡大表示]

 しばらく経過すると,/mnt/hda3/unrmに複数の.htmlファイルが生成されます。filesディレクトリには.txtファイルができています。

 まずtxtファイルをあたってみてください。復元したいファイル内の特定の文字列が分かっていればgrepコマンドだけでデータが取り戻せるはずです。

 htmlファイルは何に使うのでしょうか。htmlファイルをWebブラウザで閲覧すると,色分けされたファイルがいくつも見えます(写真14)。先頭のフレームには凡例が示されていますので,失ったファイルが見つかりやすくなっています。