Mozila Mail/News 情報の復旧方法

このドキュメントについて

Mozilla の Nightly を追っかけたり色々いじって遊んでいると、 またはバグ等で、突然 Mozilla が起動しなくなった!! という現象に 遭遇することがあります。そんな時、最後の手段は Profile を全部消し、 レジストリファイルを消してプロファイルを初期化するということになるわけですが、 それで起動出来たとしても、溜めたメールやニュースの情報は初期化されてしまいます。

この文書は、プロファイルを初期化して新しいプロファイルを作成した後、 その新しいプロファイルに今までのメールやニュースの情報を引き継ぐ(復旧させる) 方法について記述したものです。

ただし、この内容は mozilla.org から正式な方法として示されて いるものではなく、有志が試行錯誤した結果、復旧できたような気がする というものですので、もし復旧できなかったとしても、責任は負えません。 At your own risk でお願いします。

(1) Profile フォルダのバックアップ

まず、Mozilla の Profile フォルダのバックアップをとっておきましょう。 これがないと始まりません。起動しなくなった後でも良いので、別のディレクトリに バックアップして下さい。(名前を変えても良いです。)

プロファイルが保存されているディレクトリの場所は、各プラットフォームで以下となっています。

以降、これらののディレクトリを "プロファイルディレクトリ" と呼びます。 これらプロファイルディレクトリは、その配下に Users50/<profile_name>/<暗号>/ というディレクトリを持っています。

気を付けなくてはならないのは、プロファイルディレクトリに含まれる、 暗号が復旧の際には必要 になるということです。 例えば、暗号部分が abcdef.ghi とすると、これを backup というように名前を変えてこの部分だけバックアップする、 ということをしてしまうと復旧できなくなってしまいますので注意して下さい。

(2) プロファイルディレクトリの削除

バックアップを取った後、プロファイルディレクトリをばっさりと削除してしまいましょう。 (リネームしたのであれば、これは不要です。)

(3) 新しいプロファイルを作成

プロファイルディレクトリを削除した後に Mozilla を起動すると、 新しいプロファイルを作ることになります。 この時、新しいプロファイルディレクトリが生成されます。 ここで一端、Mozilla を落とします。

(4) プロファイル情報のコピー

新しく生成されたプロファイルディレクトリに、バックアップしたプロファイルディレクトリ から以下のファイルを上書きコピーします。 コピーが必要なファイル/ディレクトリは、以下です。 新しいプロファイルディレクトリの Mail 及び News ディレクトリは、 コピーの前に削除しておいて下さい。

  1. prefs.js (ファイル)
    Mail ディレクトリや News ディレクトリへのパス情報が記述されています。
  2. panacea.dat (ファイル)
    Mail ディレクトリや News ディレクトリへのパス情報が記述されています。
  3. localstore.rdf (ファイル)
    メールボックスや購読しているニュースグループの情報が記述されています。
  4. Mail (ディレクトリ)
    メール情報の本体です。
  5. News (ディレクトリ)
    ニュース情報の本体です。

(5) ファイルの修正

prefs.js と、panacea.dat には、プロファイルディレクトリがフルパスで記述されています。 前述の通り、プロファイルディレクトリはその中に暗号を含むため、 その暗号の部分を新しいものに修正してやらなくてはなりません。 こればかりは、エディタを使っての手作業になります。 例えば、古い暗号が abcdef.ghi で、新しい暗号が jklmno.pqi としたら、 ファイルに記述されている "abcdef.ghi" という文字列を "jklmno.pqi" に一括置換します。

ただし、panacea.dat に記述されている内容は、80文字で改行が入っています。 運悪く、この80文字目に暗号名が当たるとちょっと面倒になります。 区切られている文字列によって、2回に分けて置換して下さい。 例えば、\\abc\ を \\jkl\ に、def.ghi\ を mno.pqi\ に置換する、という様にです。

(6) Mozilla の再起動

Mozilla を起動して、メールやニュースの設定が復旧しているか確認しましょう。