CCleanerのアップデートに注意!Thunderbirdのデータが消えた原因とその対処法


※2017年9月19日追記

「CCleaner」にマルウェア混入というニュースがありました。

http://www.itmedia.co.jp/enterprise/articles/1709/19/news051.html

「CCleaner v5.33.6162」には問題がありますので、「v5.34」以降にアップデートするようにしてください。


 

※以下は8月22日に書いた内容です。

 

Windows10で、CCleanerとThunderbirdを使っている人は気をつけてください。

 

月曜日の朝から、とんでもないことが起きてしまいました。

朝パソコンをつけて、メールをチェックするためにThunderbirdを開くと、こんな画面が出るではありませんか。

 

いつも表示されるメールの一覧は見当たらず、アカウント設定の初期画面が表示されてしまいます。

 

Thunderbirdで管理しているのは、仕事のメールが中心なので、月曜日の朝にこんなトラブルが起きるのは非常に困ります。

焦りながらも原因を考えてみると、思い当たることが1つありました。それがCCleanerです。

Thunderbirdのアカウント情報が消えた原因

今回Thunderbirdが初期化された原因は、「prefs.js」というファイルが上書きされたことです。「prefs.js」は、Thunderbirdのアカウント情報を記録するファイル

「prefs.js」の場所は通常、C:\Users\(ユーザー名)\AppData\Roaming\Thunderbird\Profiles\ にある「英数字.default」というフォルダのなかです。

この「prefs.js」が上書きされたのは、CCleanerというソフトを使ったのが原因でした。

 

CCleanerでのクリーンアップ

前日の夜、パソコンを閉じる前にファイルの整理をしようと、CCleanerを使ってファイルの一括削除をしたのです。

CCleanerは、Windowsの不要ファイルなどを整理してくれる便利なソフト。これまでなんども使っていたのですが、トラブルが起きたことはなかったので油断していました。

だけど今回はCCleanerのバージョンアップがあったので、CCleanerの設定がこれまでと変わっていたのです。

 

CCleanerのバージョンアップ時にはチェック項目に注意!

今回バージョンアップした最新版は「CCleaner v5.33.6162」(この記事を書いた時点で)。

このバージョンになってなにが変わったかというと、各アプリケーションの「保存場所」という項目に、デフォルトでチェックが入っているのです。

 

こんな重要な項目にしれっとチェックが入っているとは!

この「保存場所」にチェックが入った状態で、クリーンアップを開始してしまうと、今回のようにアカウント情報が消されてしまうことになります。

CCleanerを使う場合は、このようなことも起こりますので、十分注意するようにしてください。

 

Thunderbirdのアカウント情報が消えたことへの対処法

それでは、このように「prefs.js」が破損してしまってThunderbirdのアカウント情報が初期化されてしまった場合の対処方法を紹介します。下の1~3の順番で、面倒になっていきます。

僕の場合はバックアップをとっておらず、2の方法でも復元できなかったので、結局3の方法で手動でアカウントを設定し直すことでなんとか対処できました。それでは紹介していきます。

 

1、prefs.jsのバックアップから復元する

バックアップをとっていることが条件なのですが、一番簡単なのはバックアップから「prefs.js」を復元することです。バックアップに保存されている「prefs.js」を、「英数字.default」フォルダのなかの「prefs.js」に上書きすればいいだけです。

僕の場合は、そもそもバックアップをとっていなかったので、この方法は使えませんでした。やはりバックアップは大切ですね。Windows10では「以前のバージョンの復元」という機能を使えますので、これを機会に有効化しておきます。

 

2,Invalidprefs.jsを参考にしてprefs.jsを修正する

ここから先は、やり直しができるように「英数字.default」フォルダをどこかにコピーしてバックアップをとっておいたほうがいいと思います。

 

2番目の方法は、Invalidprefs.jsを参考にしてprefs.jsを修正するという方法。

この方法は、こちらのサイトで紹介されていた方法です。

http://fio.hatenablog.com/entry/2017/07/24/195254

 

「prefs.js」があるフォルダには「Invalidprefs.js」というファイルも存在します。

この「Invalidprefs.js」の内容は、もともとの「prefs.js」とほとんど同じ内容のようです。

なので、「Invalidprefs.js」に記述されている「user_pref(“mail …」以下をコピーして、「prefs.js」の該当する部分に貼り付けて保存。そしてThunderbirdを再起動すると、元通りになっているようです。

僕はこの方法では復元できませんでした。おそらく「””」が閉じていないというミスがあったのだと思います。

記事公開後にコメントで情報をいただきましたが、文字列の「””」が閉じていないという場合があるようです。

テキストエディタでファイルを開くときはUTF-8を指定して開くようにして、「””」が閉じていない場合は閉じるようにしてください。

 

 

※追記 コメントで情報提供をいただきました。

この方法では、日本語コードの問題で文字列の「””」が閉じていないということが起こる場合があるようです。
もしうまくいかない場合は、このへんに気をつけてください。

※追記 コメントで情報提供をいただきました。

「Invalidprefs.js」のファイル自体をコピーして「prefs.js」に名前変更するという方法でも対応できるようです。

また、テキストエディタでファイルを開くときはUTF-8を指定して開くようにしてください。

 

3,手動でアカウントの設定をし直す

最終手段は、手動でアカウントの設定をし直すことです。メールのデータ自体は残っているので、アカウントの設定が元通りになれば、以前の状態に戻すことができます。

僕の場合は、Thunderbirdに6つのメールアカウントを設定していたので少し複雑で面倒でしたが、結局はこの方法でなんとか復元することができました。

このやり方が正しいかどうか分かりませんが、僕が実際に復元したやり方を紹介すると、まず、サーバー情報を正しく入力し、その後、サーバー設定では、新着メッセージをダウンロードしないように設定します。

 

そして「メッセージの保存先」では、「Mail」フォルダのなかの、そのアカウントのメールが保存されているフォルダを選択します。(どのフォルダがどのアカウントに対応しているか分かりにくい場合は、各フォルダのなかにある「popstate.dat」というファイルをエディタで開けば、アカウント情報が書いてあります)

 

この設定をしてThunderbirdを再起動すると、メールは元通りになっていました。あとは、すべてのアカウントで同じことを繰り返すだけです。

 

おわりに

メールソフトが初期化されてしまうという今回のトラブルはかなり焦りました。

以前、Thunderbirdのデータを古いパソコンから新しいパソコンに移行したことなどがあったので、なんとか冷静に対処できましたが、そういうことが分からなければかなり大変だったと思います。

今回の教訓は、「バックアップをとるようにする」ということと、「CCleanerを使うときは気をつける」ということ。

でも、今回の件をきっかけに、メールの管理をGmailで一元化するとか、仕組み自体を変えてもいいのかなあとも思っています。そういうことについてもこれから考えていきたいと思います。

 

以上、CCleanerが原因でThunderbirdのデータが消えた際の対処法についてでした。