2011/05/14

リカバリ方法

リカバリイメージの作成でリカバリイメージを作成したので、それを使ってリカバリする方法をまとめておく。
リカバリをすると、インストールしたアプリや、システム設定やアプリのデータが全て消えるので注意。その代わり、システムの内容を初期状態に戻すことができる。
なお、リカバリイメージの代わりに、SC-02B 用のカスタムROMを指定することで、カスタムROMをシステムに書き込むことができる。

必要なものは以下の通り。
Odin3 以外は、リカバリイメージの作成で作成したもの。
(Odin3 の正式な公開元ってどこ?)

Odin3 v1.85
・CODE_SC02BOMJJ1.tar.md5
・MODEM_SC02BOMJJ1.tar.md5
・sc02bomjj1_odin.pit

作業の前に、電池の残量が十分あるかどうか確認する。
まず、SC-02B の音量小ボタン、電源ボタン、ホームボタンを同時に押し続けてダウンロードモードにする。


この状態で MicroUSB で PC に接続し、Odin3 を起動する。正常に接続できていれば、ID:COM の欄が1つ黄色になっているはずなので、それを確認する。


次に、PDA ボタンをクリックして CODE_SC02BOMJJ1.tar.md5 を選択する。同様にして PHONE に MODEM_SC02BOMJJ1.tar.md5 を設定する。さらに、パーティションを切り直す時は PIT に sc02bomjj1_odin.pit を設定する。PIT を設定すると、左側の Option の Re-Partition に自動的にチェックが付く。Option の Auto Reboot、F. Reset Time はデフォルトのチェックが付いたままにしておく。
設定内容を確認した後、Start ボタンをクリックする。ID:COM の黄色になっている欄の上の欄に、進行状況が表示される。また、本体側にも青色のバーで進行状況が表示される。この間、MicroUSB を外したりすると壊れる可能性があるので注意すること。

完了すると、自動的に再起動してリカバリモードで起動する。


音量大/音量小ボタンで wipe data/factory reset を選択して、ホームボタンで決定する。さらに、同様に Yes -- delete all user data を選択して決定する。内蔵SDの内容も消去するときは、format internal sd-card を選択して決定する。

参考までに、リカバリモードのメニューの内容は以下の通り。
reboot system now・・・再起動
apply sdcard:update.zip・・・sdcard 内の update.zip の内容を適用
wipe data/factory reset・・・DATA/DBDATA/CACHEのフォーマット
wipe cache partition・・・CACHEのフォーマット
format internal sd-card・・・内蔵SDのフォーマット

最後に、MicroUSB を外して reboot system now を選択して決定すると、再起動する。起動したら、SIM が正常に認識できているか、その他、メニュー -> 設定 -> 端末情報 の各種バージョンや、メニュー -> 設定 -> SDカードと内蔵メモリ で容量がおかしくないか確認しておく。動作がおかしい場合は、ダウンロードモードにして再度リカバリを行う。何度やってもうまくいかない場合、microSD や SIM を外して行ったり、Odin3 で PDA のみ指定して一度リカバリを行った上で、次は PHONE のみを指定してリカバリを行うとうまくいくようだ。

Odin3 で PIT を指定してパーティションを切り直した場合、アプリの DioDict で異常が発生して起動しなくなる。これは、DioDict の辞書の領域の内容が破壊されるためで、この場合、辞書の領域をリカバリする必要がある。mmcblk0p3.dat が辞書の領域のリカバリイメージなので、これを使ってリカバリを行う。ここでは、mmcblk0p3.dat を microSD に転送してから作業を行った。要 root の作業なので、あらかじめ SuperOneClick で Shell Root を実行して root になっておくこと。

C:\SC02BOMJJ1> adb push mmcblk0p3.dat /sdcard/external_sd/
C:\SC02BOMJJ1> adb shell
# dd if=/sdcard/external_sd/mmcblk0p3.dat of=/dev/block/mmcblk0p3
# exit

書き込みが終わったら、MicroUSB を外して、音量大ボタン、電源ボタン、ホームボタンを同時に押し続けてリカバリモードで起動する。リカバリモードのメニューから format internal sd-card を選択して決定する。その後、reboot system now を選択して決定し、再起動すれば、DioDict が正常に使用できようになっているはず。

4 件のコメント:

  1. パーティションの切り直しで助けていただき感謝しております。現在もdocomoのループで起動しておりません。その理由が、上記の mmcblk0p3.dat の破損が原因であるに違いないと感じています。現在このファイルを入手するのが難しいようなのですが、ダメもとでメールで送っていただくことができるでしょうか?thano_m@yahoo.co.jpです。本当にお手数おかけして申し訳ございません。

    返信削除
    返信
    1. /dev/block/mmcblk0p3はDioDictというアプリだけで使用する辞書の領域なので、
      空っぽでも起動します。
      それでも起動しないのであれば、焼いているイメージがおかしいか
      焼き方はおかしいかのどちらかだと思います。

      削除
    2. アドバイスありがとうございます。イメージがおかしいのかと思い、JJ1の純正ROMをダウンロードを2度やり直し両方保存。いずれもodin3で何度も焼きましたが起動しません。たまにrecovery modeに入りますので、そのときに確認しましたら、パーティションのエラーは消えていました。

      万策尽きました。この状況で何か起動しない理由が考えられるでしょうか?

      削除
    3. 公式のJJ1の配布はなかったかと思いますが、信用できるイメージなら
      いいとは思います。
      PITとPDAとPHONEをOdinにセットすれば、Re-Partitionに自動的にチェックが
      付くはずなので、そのまま焼けば、パーティションが再構築されて
      普通はそれだけでうまく動くと思います。

      削除