rooted 環境 (SuperSU の導入) にしようとすると通常はカスタムリカバリのインストールが必要になります。
(実際はこの方法だけではありませんが、制限があったり一部rootedアプリが使えないことがあります。)
そしてカスタムリカバリをインストールしているとおサイフケータイが使えなくなってしまいます。
そこで、rooted 環境だけでなくカスタムリカバリやおサイフケータイも使いたいという場合に有効な方法をまとめます。
今回は現時点で最新バージョンの SC01FOMUFNI3 (Android 4.4.2 kitkat) に導入することにします。
当然ながら自己責任での作業ですが、
注意点としてカスタムリカバリを焼くため補償がなくなります。
ブートローダで確認できる KNOX WARRANTY VOID が 0x0 から 0x1 となり、補償外となるフラグが立ちます。
これは純正の初期ROMを焼き直したとしても元には戻りませんので注意してください。
まずは作業に必要なものを準備します。
- Android 開発環境
- adb コマンドが使える状態であること。こちらで紹介しています。
- Samsung USB ドライバ
- こちらページから SAMSUNG_USB_Driver_for_Mobile_Phones.zip をダウンロードします。
- Odin v3.09
- 端末により使用するバージョンが異なります。Note3 では v3.09 を使用します。
- こちらページからダウンロードできます。
- カスタムリカバリ (CWM Recovery)
- こちらのフォーラムより hltedcm-KK-KBC-CWM-v6.0.5.0_r0-recovery.tar をダウンロード。
- SuperSU
- こちらのページからダウンロードできます。バージョンは基本的に最新のもので問題ありません。
- SAMSUNG 純正の初期 ROM (SC01FOMUFNI3)
- こちらのページからダウンロードできます。メンバ登録(無料)が必要です。
- 無料メンバだとダウンロード速度が遅いので気長に待ちます。(光回線で40~50分程度)
- システムやリカバリ等を初期状態に戻す場合にも使用できます。
- tar ファイルが展開・作成できる圧縮解凍ソフト
- Lhaplus がオススメです。(7 zip で生成した tar は flash 時にエラーが出ることを確認しています)
少し多いですが、以上をあらかじめ用意しておきます。
ユーザデータはそのままでも問題ないと思いますが、ここでは一度本体を初期化した上で作業しました。
作業は大きくわけて3段階です。
とりあえず 「rootだけ取りたい」という場合は
Step. 1 のみ
おサイフケータイも使いたい場合(カスタムリカバリは不要な場合)は
Step.2 まで
おサイフケータイもカスタムリカバリも使いたい場合は
Step. 3 まで進めてください。
Step. 1
はじめにブートローダを立ち上げます。USB ドライバはあらかじめインストールしておきます。
ブートローダは電源を切れた状態から
[ホームボタン] + [ボリュームダウンキー] を押したまま電源を入れる
ことによって立ち上がります。
このような画面が立ち上がりますので、
[ボリュームアップ] を押します。
この画面になりますので、ここで USB ケーブルを使って PC と SC-01F を接続します。
PC 側では
Odin を立ち上げます。
Odin が端末を認識すると ID:COM の部分に上のように表示されます。
表示されない場合は、USB ドライバが正常にインストールできていないか、ケーブル不良の可能性があります。
認識していることを確認できたら、
[AP] をクリックして
カスタムリカバリのファイルを選択します。
[Start] をクリックするとカスタムリカバリが書き込みされます。
この時点で補償が効かなくなります。
書き込み後、自動でリブートされます。
起動したらUSB経由のままで良いので、
内部ストレージに SuperSU のファイルを zip のまま入れておきます。
入れましたら、一旦電源を切ります。
次にカスタムリカバリを立ち上げます。
[ホームボタン] + [ボリュームアップキー] を押したまま電源を入れることで立ち上がります。
このような画面が立ち上がります。
操作方法は
[ボリュームキー]で上下選択、
[電源キー]で決定です。
[install zip] -> [choose zip from /sdcard] -> [0/] と進めていき、先ほど入れた zip ファイルを選択します。
[Yes] でインストールできますので、インストール後は最初の画面に戻り
[reboot system now] で再起動します。
「Root access possibly lost. Fix?」のような表示が出たら、[No] を選んで再起動します。
この時点ではカスタムリカバリ & SuperSU導入済みとなります。
おサイフケータイを使われない場合にはこのままでも問題はありません。
Step. 2
次にカスタムリカバリを純正に戻して、おサイフケータイを復活させます。
現在導入しているカスタムリカバリを純正リカバリに戻すためのファイルを生成していきます。
まずは
純正 ROM の zip を解凍し、tar.md5 ファイルを取り出します。
このファイルは
拡張子の .md5 を削除し、tar ファイルになるように変更します。
変更すると圧縮解凍ソフトで取り扱えるようになりますので、このファイルを更に展開します。
展開されたファイルの中から
recovery.img と
cache.img.ext4 のみを 再度
tar ファイルとして生成します。
ファイルは
ディレクトリに入れずに作成するようにします。
右クリックメニューに追加している場合は、上記 2 つのファイルを選択した後に圧縮を行います。tar は無圧縮です。
生成されたファイルはカスタムリカバリ導入と同様に
ブートローダを立ち上げて、Odin を使って書き込みます。
書き込みが完了するとカスタムリカバリが純正リカバリに一旦戻ります。
この時点ではSuperSU導入済み &おサイフケータイ利用可となります。
カスタムリカバリが不要という場合はここまでの作業で問題ありません。
ただし、万が一に備えてカスタムリカバリを導入してフルバックアップ/リストア等のために導入されることをオススメします。
Step. 3
最後に純正に戻したリカバリをもうもう一度カスタムリカバリに書き換える作業を行います。
ポイントとなるのは、
Odin を使わずに、システムを立ち上げた状態からコマンドで直接書き換えることです。
これにより、ブートローダ上の状態を
Official に保つことにより、おサイフケータイが利用可能になります。
余談となりますが。
システム上では カスタム になるため、新しいシステムアップデートが配信された場合にそのままではアップデートできません。
この作業で準備した純正ROMをまるごと書き込むか、
最新の純正ROMもすぐに公開されていますのでOTAアップデートを使わずに直接そちらを使って最新版にする方法もあります。
当然ですが、rootやカスタムリカバリ等も元に戻りますので注意が必要です。
では本題に戻ります。
先ほど利用した
カスタムリカバリの tar ファイルを圧縮解凍ソフトを使って展開します。
展開すると
recovery.img というファイルを取り出すことができます。
このファイルをコマンドプロンプトからの操作で転送して書き換えます。
recovery.img があるディレクトリをカレントディレクトリにした状態で作業してください。
(dir と投入するとファイル一覧に recovery.img が出てくる状態)
端末のシステム立ち上げて USB でつないだ状態で以下のコマンドを投入していきます。
[開発者向けオプション] から
[USB デバッグ] をあらかじめ有効にしておきます。
(開発者向けオプションは [端末情報] の [ビルド番号] を数回タップすることで出現します。)
>adb push recovery.img /data/local/tmp
3044 KB/s (11188224 bytes in 3.588s)
>adb shell
shell@SC-01F:/ $ su
su
root@SC-01F:/ # dd if=/data/local/tmp/recovery.img of=/dev/block/mmcblk0p15 bs=4096
2731+1 records in
2731+1 records out
11188224 bytes transferred in 0.645 secs (17346083 bytes/sec)
root@SC-01F:/ # rm /data/local/tmp/recovery.img |
まずは adb push でカスタムリカバリのファイルを端末内のテンポラリディレクトリに送ります。
adb shell を実行し、su でroot権限に変更します。
(ここで SuperSU が ADB shell を許可するかのポップアップを出してきますので、「許可」します。)
そして dd コマンドを使って現在の純正リカバリをカスタムリカバリに置き換えます。
mmcblk0p15 がリカバリのブロックです。誤って他のブロックに書き込みしてしまわないように注意します。
ブロックの配置は機種により異なりますので、mmcblk0p15 はSC-01F の場合です。必ず確認します。
(確認方法は
こちらのフルバックアップ方法の記事で解説しています。)
入力を誤ると最悪の場合、文鎮化してしまう可能性もありますので慎重に行います。
最後に一時的に使用していたrecovery.img を削除して終了です。
以上で全ての作業が完了となります。
root アプリが使えるかどうか、カスタムリカバリが立ち上がるかどうか、おサイフケータイが使えるかどうかを確認します。
おサイフケータイアプリを立ち上げると、ロックをしていないにも関わらず「ロック中」と表示され使用できないことがあります。
その際は
一度「おサイフケータイ ロック」を掛けてから、解除を行うと以後は問題なく利用できることを確認しています。
また、Android 4.4 (kitkat) にアップデートすると、サードアプリによる外部ストレージへの書き込みができなくなります。
外部ストレージを利用する場合はこちらの方法を実行してください。
こちらのSTEP2にて躓いております。
展開されたファイルの中から recovery.img と cache.img.ext4 のみを 再度 tar ファイルとして生成します。
生成されたファイルはカスタムリカバリ導入と同様にブートローダを立ち上げて、Odin を使って書き込みます。
とのことですが、上記2ファイルのみのTARファイルを指定してからodinで書き込み行ったところ、
RECOVERYとでずにCACHEと判断されます
その後NAND Write Start!!とでて、
FAIL!(Write)となります。
その後は端末再起動、ファームウェアアップデートが正常に処理できませんでした。とでます。
カスタムリカバリを選択することで、また起動可能となります。
どのようなことが原因として考えられますでしょうか。