目次
注意事項
ブートローダーアンロックやカスタムリカバリ導入、root化によって、メーカーの補償は一切きかなくなります。また作業中にデータが消えたり、端末が起動しなくなってしまったとしても、当方では一切責任は負えません。
全て自己責任で作業を行ってください。
Android 6.0 Marshmallowのroot化について
Android 6.0 Marshmallowを搭載したNexusデバイスをroot化するには、root権限の特権を無くすことでセキュリティを強固にするSELinuxのモードを「Enforcing」のままではなく「Permissive」に変更する必要があります。SELinuxのEnforcingとPermissiveの違いは、Enforcingがセキュリティポリシーの設定で許可されていないアクセスがあった場合にそのアクセスを拒否してログに出力するのに対し、Permissiveはセキュリティポリシーに違反するアクセスであってもアクセスを許可してログに出力します。
つまり、Android 6.0のNexus7(2013)をroot化することでセキュリティレベルを下げることになります。あくまでも自己責任で作業してください。
また、Android 6.0 Marshmallowの新機能などの詳細はこちらを参照してください。
Android 6.0 Marshmallow(マシュマロ)の新機能・変更点・使い方まとめ。
2015/10/11
SuperSU開発者のChainFire氏が、SELinuxをEnforcingのままでroot化できるSuperSU v2.50をリリースしました。
Android6.0のNexusでSELinuxをEnforcingのままroot化できるSuperSU v2.50 BETAがリリース。
このページで紹介する手順は、SuperSU v2.52を使ってSELinuxをEnforcingに保った状態でroot化する方法です。
2015/10/31
ChainFire氏が/systemを改変せずにroot化できるSuperSU v2.56をリリースしました。
root化の手順はこれまでと同じで改造版のboot.imgを焼いた後にSuperSUのzipファイルをインストールする必要があります。最新のroot化方法の変更点は、root化済みNexusデバイスのOTAアップデートの際にこれまではファクトリーイメージのsystem.imgとboot.imgを焼く必要があったのが、boot.imgのみを焼きなおすだけでよくなった点です。
また、/systemも改変するこれまでのroot化方法は失敗するとブートループになっていたのが、新しい方法ではroot化には失敗するもののきちんと起動するようになっています。
ChainFire氏によると新しいroot化手法は開発途中の段階で、ファクトリーリセットするとroot権限やPINが消えるなどバグも多く存在します。
なお、/systemを改変することでroot権限を取得する以前のboot.imgはすでにリンクが消されているので、今後root化する際は新しい手法のものになります。
準備しておくこと
1.Nexus7(2013)のブートローダーをアンロックしてブートローダーを起動したままにしておく。ブートローダーのアンロック手順はNexus7(2013)のブートローダーアンロック方法。を参照してください。なお、ブートローダーをアンロックすることで端末内にあるアプリやアプリのデータだけでなくストレージ内の写真なども全て消えます。必要なデータは先にバックアップしておくことをおすすめします。
2.PCのブラウザからカスタムリカバリの最新版をダウンロードしておく。Wi-FiモデルとLTEモデルそれぞれに提供されているので、間違えないように注意しましょう。
Wi-Fiモデル
https://twrp.me/devices/asusnexus72013wifi.html
LTEモデル
https://twrp.me/devices/asusnexus72013lte.html
TWRPのダウンロードは、まずDowload Linksの「Primary(Recommended)」をクリックします。
TWRPのimgファイルが一覧で表示されるので、最新のTWRPをダウンロードします。
3.Nexus7(2013)のSELinuxをEnforcingのままroot化するために、PCのブラウザからhttp://forum.xda-developers.com/apps/supersu/wip-android-6-0-marshmellow-t3219344にアクセスしてChainFire氏が作成した改造版boot.imgをダウンロードし、解凍しておく。Wi-Fiモデルは「razor」、LTEモデルは「razorg」です。ここも間違えないように注意が必要です。
Nexus7(2013) Android 6.0のroot化方法・手順
準備ができたら、Android 6.0 Marshmallowにアップデート済みのNexus7(2013)をroot化していきます。Nexus7(2013)に改造版boot.imgを焼く
まず、Nexus7(2013)に改造版のboot.imgを焼きます。準備しておくことでダウンロード・解凍しておいたboot.imgが入ったフォルダ内の空いた場所でShiftキーを押しながら右クリックし、「コマンドウィンドウをここで開く」をクリックします。コマンドプロンプトが起動するので「fastboot flash boot 」と入力します。bootの後は半角で1文字分スペースを空けておきます。
改造版boot.imgをドラッグ&ドロップでコマンドプロンプトに持っていきます。boot.imgはWi-Fiモデル(razor)とLTEモデル(razorg)で違うので、間違いがないか再度確認しておきましょう。
boot.imgのパスが入力されたらEnterキーを押します。
「finished.total time:~」と表示されれば改造版boot.imgの導入は完了です。「fastboot reboot」を入力してEnterキーを押し、Nexus7(2013)を一度再起動します。このコマンドプロンプトは後からまた使うので、閉じずにそのままにしておきます。
SuperSU v2.52をNexus7(2013)にダウンロード
Nexus7(2013)が再起動したら、Nexus7(2013)のブラウザからSuperSU v2.52をダウンロードします。http://forum.xda-developers.com/apps/supersu/2014-09-02-supersu-v2-05-t2868133にアクセスして、「BETA-SuperSU-v2.52.zip」をタップするとSuperSUのダウンロードページに移動するので、SuperSUのzipファイルをダウンロードします。
SuperSUのzipファイルをダウンロードしたら、再度ブートローダーを起動します。
Nexus7(2013)にTWRPを導入する
Nexus7(2013)のブートローダーを起動したら、改造版boot.imgの導入で使ったコマンドプロンプトに「fastboot flash recovery 」と入力します。recoveryの後は半角で1文字分スペースを空けておきます。TWRPのimgファイルをドラッグ&ドロップで持っていきます。TWRPもWi-Fiモデル(flo)とLTEモデル(deb)で違います。間違えないよう注意しましょう。
パスが入力されたらEnterキーを押します。
「finished.total time:~」と表示されれば、TWRPの導入は完了です。
Nexus7(2013)にSuperSUをインストールする
TWRPの導入が終わったら、SuperSUをインストールします。ブートローダーが起動した状態で「Recovery mode」が表示されるまでボリュームキーを押します。
「Recovery mode」が表示されたら電源ボタンを押して決定します。
TWRPが起動します。「Swipe to Allow Modifications」を右にスライドします。
「Install」をタップします。
ダウンロードしておいたSuperSUのzipファイルをタップして選びます。
「Swipe to Confirm Flash」を右にスライドしてSuperSUをインストールします。
「Successful」と表示されたらSuperSUのインストールは完了です。「Reboot System」をタップしてNexus7(2013)を再起動します。
アプリ一覧にSuperSUが追加されています。
Nexus7(2013)のroot化とSELinuxのモード確認
最後に、Nexus7(2013)のroot化の確認と、SELinuxのモードがEnforcingになっているかを確認します。[APP]SELinuxModeChangerからSELinuxModeChangerのapkファイルをダウンロードしてインストールします。SELinuxModeChangerはroot権限が必要なアプリなので、スーパーユーザーリクエストが表示されて正常に許可できればroot化は成功しています。そして、SELinuxはEnforcingになっています。
SELinuxがEnforcingでは正常に動作しないrootアプリあり
SELinuxがEnforcingでroot化できるようになったことで、セキュリティレベルを下げずにroot化できるようになりましたが、Enforcingのままでは正常に動かず使えないrootアプリがあります。私が確認した限りでは、Titanium Backupアプリ復元、LMT Launcherが使えません。
Titanium Backupは、SELinuxModeChangerで一時的にPermissiveにして復元し再度Enforcingに切り替えれば問題ありませんが、LMT Launcherが使えないのは痛いですね。
なお、その他にもEnforcingでは使えないrootアプリがある可能性は高いです。
その場合、各rootアプリ開発者のSELinuxのEnforcing対応アップデート待ちなので、Nexus7(2013)をすぐにroot化して使いたい場合はPermissiveにしておいたほうがいいかもしれません。
Nexus7(2013) Android 6.0 Marshmallowのroot化方法・手順は以上です。