スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

SH-12C 文鎮化からの復帰

何度か、SH-12Cの文鎮化より復帰は?と言うコメントを頂いたので、少しだけどその事について書いてみたいと思う。

文鎮化しないための条件とか


root取得記事にもほんの少し触れているんだけど、
文鎮SH-12Cは、boot領域にレスキュー(リカバリ)可能なbootイメージを焼いていないと、復旧はほぼ不可能と言っていい。
※ほぼと書いたのは、過去にバッテリー抜いたりしてたら治ったとかスレにあったのでw まあ、それは正しくは文鎮化していなかったと言う事なんだろうけど、そんな事もあるかも知れないってことで。。。w

この”boot領域に”って言うのが重要で、なぜrecovery領域に焼いている状況で文鎮化した時に復旧不可能かと言うと、、、

普通の再起動と言うのは基本的にboot領域から行われるもので、recovery領域から起動したい場合は、コマンドでreboot recoveryしないといけない(アプリでrecoveryから起動ってのも出来るけど結局は同じ事)。
又、SH-12Cは、ボタンコンボ(ボタンの同時押し)起動とかでrecovery領域からの起動は出来ない。
バッテリーを引っこ抜き再起動した場合もboot領域からの起動になり、それでも起動しない場合は、もうrecovery領域からの起動は出来ない。
つまり、boot領域からの起動に失敗すると、もうrecovery領域からの起動が不可能って事になるので、文鎮化確定。
よく、「boot領域に焼いた方が、文鎮のリスクが少ない」って見かけるのはその為。

って事。

ボタンコンボ等の方法でrecovery領域からの起動が不可能な機種では、rooted可能かつレスキュー(リカバリ)可能なbootイメージをboot領域に焼かないと意味がないと言う事なのです。

まとめると。。。。

SH-12Cでのrootedは
●rooted可能かつレスキュー(リカバリ)可能なbootイメージを、boot領域に焼かないと意味がない(断言)。
●recovery領域に焼くのは、テストの為だけで、テストが終わったら元のrecoveryイメージを焼き直す。
●出来る事なら、oobパッチの適用されたbootイメージを使い、各パーティションのバックアップは取っておく。



こうは言ったものの、上の方法でも文鎮化してしまう可能性が全くないっては言い切れない。
boot領域にカスタムイメージを焼くってことは、その行為自体失敗してしまうと即文鎮確定になる。
やはり、自己責任&しっかり理解をした上で行わなければいけないってことですね。


文鎮化してしまう原因とか


文鎮化してしまったと言っても、原因がそれぞれ違うわけで、その原因ってのを少し羅列してみたいと思う。
●起動に必要なsystemが壊れた
●止めてはいけないサービスを止めてしまった
●recovery領域にカスタムイメージを焼いていて、初期化操作をしてしまった
●boot領域へのflash(焼く行為)に失敗した
●いろいろ弄った状態でアップデートしてしまった。

・・・・これくらいしか思いつかないwww
flashの失敗は有無を言わさず文鎮確定。
アップデートも文鎮確定。
その他は条件によっては復旧可能となる
recovery領域にカスタムイメージを焼いていて初期化操作も文鎮確定だった。

その条件は、上でも言っている、boot領域にレスキュー(リカバリ)可能なイメージを焼いていること。


文鎮化からの復旧

簡単に復旧方法を書いてみる。
何度も言うが、boot領域にレスキュー可能なイメージを焼いていることが条件になる。
現在入手出来るrooted可能でレスキュー(リカバリ)可能なbootイメージはというと、

●goroh_kunが作ってくれた、起動時にadb接続可能なbootイメージ
●2chのSH-12Croot2スレで452さんが作ってくれたレスキューモード可能なイメージ

このどちらかをboot領域に焼いているってこと前提。
以下、レスキューモード(リカバリモード)に入っての作業。

1,起動時に必要なsystemが壊れ文鎮化した


復旧方法:adb接続にて、systemをマウントし、バックアップしてあるsystemと入れ替える。

これは、当然バックアップが無ければ復旧はむずかしい。
しかし、どのファイルを弄ったかがわかっていれば、そのファイルを正しく修正すればいい。
systemファイル弄るのに、バックアップを取らない人はいないと思うので、ここいら辺は問題ないはず。


2,止めてはいけないサービスを止めてしまった

復旧方法:adb接続にて、サービスを復旧する。

どのサービスを止めてはいけないのかは、ググればスグ見つかる。
ワンセグとか、SIM Toolkitとか。。。

コマンドでの復旧になるけど、これもすぐ見つかるはず。


3,recovery領域にbootイメージを焼いた状態で初期化してしまった


復旧方法:adb接続にて、/cache/recoveryを削除

これでいけた様な気がするw
要は、初期化すると、/cache/recoveryに初期化しろと言う情報が書かれ、recoveryからの再起動がかかるんだけど、recovery領域にはbootイメージが焼かれているので、再びrecoveryから起動しろと命令が出て、ループして文鎮化って事なので、
そいつを消してやればいいって事。
まあ、やってみたことは無いので何とも言えないけど、復旧できるはず。


文鎮確定

boot領域にカスタムカーネルイメージ、recovery領域に正規recoveryイメージで初期化作業をしてみたら、
レスキューモードに移行する前にリカバリ作業が始まってしまった。
ってことは、initよりも/cache/recoveryの方が優先されるってことで、レスキューモードには入れなくなってしまうってこと。
ってことは、これまた文鎮確定ってことなんだ・・・。
勉強になった。^^:

<終わりに>
スレでも以前はたまに見かけたんだけど、
boot領域、bootイメージ、recovery領域、recoveryモード、recoveryイメージ、recovery領域からの起動
これらを混同している人が居るみたい。
簡単に説明すると(説明が適当すぎてごめんなさいw)、

boot領域:起動する時に必要な物が入っているパーティション
bootイメージ:起動情報等が書かれたイメージ
recovery領域:初期化に必要な物が入っているパーティション
recoveryモード:goroh_kunや452さんが作ってくれたイメージからの起動でのみ入れる特殊なモード
recoveryイメージ:初期化に必要な情報等が書かれたイメージ
recovery領域からの起動:recovery領域にbootイメージを焼いている人がそこから起動すること。

recoveryモードとrecovery領域からの起動を混同する人がいたってことで、452さんはレスキューモードと名前を変えてくれた。

何度も言うようだけど、root取得していろいろ弄りたいのなら、絶対boot領域にレスキュー(リカバリ)モードに入れるbootイメージを焼いておくほうがいいってことです。
boot領域へのflash時のリスクより、recovery領域にflashして使用し続けるリスクのほうが全然高いって事を理解して、楽しいrooted生活を送りましょう^^

スポンサーサイト

コメントの投稿

非公開コメント

承認待ちコメント

このコメントは管理者の承認待ちです
プロフィール

tozionsdoor

Author:tozionsdoor
ただ書くだけ。スクショとか取るの面倒。貼るのも面倒w

検索フォーム
FC2カウンター
最新記事 5件
最新コメント
月別アーカイブ
カテゴリ
リンク
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。