FireFoxでセッションの復元ができなかった場合の対応策(v39.0)

bluefunktion
前回の続きからネット閲覧しようとFireFoxを立ち上げたらブランクタブが一つ…。何とか復元できたので対処法を書いておきます。FireFox のバージョンは39.0です。

症状

起動時に「前回終了時のウィンドウとタブを表示する」に設定しているにもかかわらず、タブの復元が出来ていない。ほとんどのケースでブランクタブ1枚が表示される。

<<<重要>>>

セッションが復元出来ていなかったら、あわてて閉じずにFireFoxをそのまま起動しておいてください。ここで何度も再起動を繰り返していないことが今回の対応策での絶対条件になります。もし今閉じている場合でしたら、バックアップ作業が終わるまでとりあえずそのまま起動も控えてください。

ここで想定している FireFox のバージョンは39.0です。それ以外のバージョンですと仕様が異なり上手くいかない可能性があります。また、同じバージョンでも環境やその他様々な要因によって上手くいかない可能性、もしくは元々あった復元の見込みを駄目にしてしまう可能性があります。その点をご了承いただき、自己責任で実行してください。

手順1 セッションフォルダのバックアップ

まず、エクスプローラでもファイラーでも何でもいいので以下のディレクトリへ行ってください。

C:\Users\ユーザ名\AppData\Roaming\Mozilla\Firefox\Profiles\ランダムな文字列

そこに「sessionstore-backups」というフォルダがありますので、それをフォルダごとデスクトップなりマイドキュメントなりにコピーし、バックアップします。

(文字通りセッション情報が貯えられているフォルダです。つまりFireFox の終了・起動を繰り返していると、ここのデータがどんどん書き換えられて行ってしまいます。上記で重要と書いたのはこのためです。)

手順2 復元するバックアップファイルを査定する


https://matome.naver.jp/odai/2143805631274126101/2143806242176677403
フォルダ内のファイルはこのようになっているはずです。

この中で重要なのは「previous.js」と「recovery.js」です。(「recovery.bak」はほとんどの場合で「recovery.js」と同じです。悪いクラッシュの仕方をしたりすると異なるのかもしれません。)

テキストエディタ等で中身を確認すれば早いのですが環境や方法によってはメモリ不足かハングアップする可能性がありますのでお勧めしません。できると思う人はやってください。復元したいタブのURLやタイトルなどが並んでいればそれが目当てのファイルです。

とりあえず手順1で“sessionstore-backups”フォルダを丸ごとバックアップしていただいているので両方で試してみれば良いのですが、一応ある程度査定してから試行します。

単純に言うとファイルサイズの大きい方がタブが多く含まれているという事になるので、そちらを選べば良いだけです。

当方の場合ですと、一回焦って終了し、もう一度起動しましたので「recovery.js」と「recovery.bak」がブランクタブ1枚に書き換えられて百数KBになっていました。ですので、ファイルサイズの大きい「previous.js」を選びました。おそらくもう一度終了か再起動していたら「previous.js」も書き換えられて希望が絶たれていたと思われます。

大量のタブを出していたにもかかわらずこの時点で両方のファイルサイズが百数KBのものしかない場合は、残念ですが…そういうことです。

手順3 ファイルをコピーしリネームして、作業を完了する

今現在で FireFox を起動していない場合は、

C:\Users\ユーザ名\AppData\Roaming\Mozilla\Firefox\Profiles\ランダムな文字列

の中に、「sessionstore.js」というファイルが存在しているはずです。逆に起動している場合は存在しないはずです。その場合はバックアップが確実に出来ていることを確認し、FireFoxを終了します。すると「sessionstore.js」が生成されているかと思います。ここからの作業は今まで FireFox を起動していた場合でもこのまま起動していない状態で進めて行くことになります。


https://matome.naver.jp/odai/2143805631274126101/2143806242176678403
FireFox の非起動時。「sessionstore.js」が存在しています。起動して前回のセッション読み込みが完了とこのファイルは消える仕様。(環境設定によって違うのかもしれませんが)

ではまず、「sessionstore.js」を削除もしくは他所へ移動します。

そして、手順2で選んだバックアップファイル(「previous.js」もしくは「recovery.js」)を

C:\Users\ユーザ名\AppData\Roaming\Mozilla\Firefox\Profiles\ランダムな文字列

内にコピーし、「sessionstore.js」にリネームします。

FireFox を起動します。セッションが復元できているはずです。

予防策として

ウィンドウズアップデートを行う前とか、ディスククリーンアップを行う前とか、最適化ツールを使う前とか、「あぶない」と思われる場面で「sessionstore-backups」フォルダをバックアップしておけば予防策になるかと。

それ以外の通常のエラーの場合ですと、たぶん前回のセッションは「sessionstore-backups」に残っているので、今回のようにそこから復元すればよいかと。さすがにブラウザを閉じるたびにフォルダのバックアップを行うのは面倒すぎますので。

https://matome.naver.jp/odai/2143805631274126101
2015年07月28日