1. はじめに

この mini-Howto は、ext2 ファイルシステム上で削除してしまったファイルを 復旧する方法について、そのヒントを提供しようとするものです。 また、そもそもファイルを誤って削除しないようにするための予防策についても、 若干説明しています。

もちろん、たった今 rm コマンドで 「ちょっとした事故」を起こしてしまった人のために、この文書は役に立つでしょう。 とはいえ、いずれにしても多くの読者に本文書を読んでもらいたいとも願っています。 いまはまだわからないでしょうが、 ある日この情報があなたの窮地を救うかもしれないのですから。

この文書は、読者が UNIX ファイルシステム全般についてある程度知っている ことを前提にしていますが、普段 Linux 使っている人ならたいてい意味が分かる ようにもしたつもりです。もし読者が全くの初心者なら、Linux 上でのファイルの 復旧には、さしあたりかなりの技術的知識と忍耐とが要求されているということを 述べておきます。(訳注:The Linux Kernel に比較的詳しい解説があります。)

ext2 ファイルシステム上での削除ファイルの復旧には、少なくともそのファイルが 保存されていた生(raw)デバイスに対する読み出しアクセスが不可欠です。一般に このことは root での作業を意味しますが、(Debian GNU/Linux などの) ディストリビューションのなかには、disk グループに所属しているメンバーなら、 そうしたデバイスにアクセスできるようになっているものもあります。 e2fsprogs パッケージにある debugfs も必要になりますが、 このユーティリティはお使いのディストリビューションに含まれていると思います。

著者がこの文書を書いたのは、rm -r というなんとも 愚かで破壊的なコマンドを root で使ってしまったという個人的な経験に 由来しています。97 個の JPEG ファイルを削除してしまったのです。これらは 是非とも必要で、かつ他から再び取得するのはほとんど 不可能な代物でした。しかし、(Section 15 の章にある) tips を使ってかなり粘った結果、91 枚を無傷で復旧できました。残りの画像に ついても、 5 枚まではなんとか取り戻すことができました (各々がどういう画像か 分かる程度の復旧でした)。最後の一枚だけは表示不能でしたが、これについても 情報欠落を 1024 バイト以下程度にはできたと思っています (しかし不運にも欠落した情報はファイルの先頭部分だったのです。 JFIF ファイル形式については何も知らなかった当時としては、 出来るだけのことはやったのですが)。

削除ファイルの復旧率として、どの程度の値を期待できるかについては のちほど議論するつもりです。

1.1. 更新歴

この文書の公式リリースとそのリリース日は、以下のとおりです。

1.1.1. バージョン 1.1 での変更点

バージョン 1.1 での変更点は、なによりも、ファイル復旧の例題にあった 著者の思い違いを訂正したことです。誤りを指摘してくれたすべての方に 感謝します。プログラムの相互作用について書く際には、もっと慎重に なろうと思います。

二つ目は、UNIX ファイルシステムのレイアウトの説明を書き直したことです。 これによって、おそらくより分かり易くなったと思います。もともと自分でも満足 してはいなかったのと、複数の方からのコメントでも不明瞭との指摘をいただいて いたからです。

三つ目は、文書の中程に uuencode した fsgrab の gzip tarball があったのを削除したことです。このプログラムは、現在 著者の ウェブサイトMetalab (およびそのミラーサイト)から入手できます。

四つ目は、この文書が Linux Documentation Project の SGML Tools に合わせて SGML 化されたことです。このマークアップ言語は、スクリーン表示や印刷の 便宜に応じて、(HTML や LaTeX などの)他の複数のマークアップ言語へも 簡単に変換できます。この利点のひとつは、印刷時の美しい版組が より簡単に実現できるということです。またウェブ上で閲覧する場合には クロスリファレンスやハイパーリンクが使えます。

1.2. この文書の正式な公開場所

この文書の最新の公開バージョンは、必ず次の場所(およびそのミラーサイト) に掲載する予定です。

Linux Documentation Project

また、最新版は、著者のウェブサイトにも各種フォーマットで掲載されています。