XiaomiのスマートフォンをMagiskでRoot化

魔法の
©いらすとや.

昔のAndroidはSuperuserをインストールしてRoot化することが多かったが、最近の主流はMagisk。今回はXiaomiのスマートフォンにMagiskをインストールしてRoot化する。
Magiskアプリはいきなりインストールしても良いが、インストールしただけではルート化にはならない。先ずはXiaomiのスマートフォンのファームウエアを取得しそこからboot.imgを抽出する。基本的にここ数年以内に発売されたXiaomi, Pocoのスマートフォンの多くで通用する筈。ただし、この記事作成時点では最新のAndroid 12またはMIUI 13では不具合が発生するようなのでAndroid 11且つMIUI 12.5までとする。

本来の手順としてはMagiskをインストールしようとしているスマートフォンにブートRAMディスクがあるか無いかを確認することになっている。ただし、Xiaomiのスマートフォンの場合は取り敢えずブートRAMディスクがあるものとしてパッチを当てたboot.imgををインストールしてみて、どうしてもダメそうであればブートRAMディスクが無い場合手順でパッチを当てたrecovery.imgをインストールするので良さそう。このページではブートRAMディスクが無いというパターンは割愛。

また、本来の手順としてはスマートフォンにvbmetaパーティションがあるか無いかを確認しvbmetaパーティションがあれぱvbmeta.imgにもパッチを当てるということになっている。

$ adb shell ls -l /dev/block/by-name
中略
lrwxrwxrwx 1 root root 16 1971-12-05 03:57 userdata -> /dev/block/sda18
lrwxrwxrwx 1 root root 16 1971-12-05 03:57 vbmeta -> /dev/block/sde50
lrwxrwxrwx 1 root root 16 1971-12-05 03:57 vbmeta_system -> /dev/block/sda10
lrwxrwxrwx 1 root root 16 1971-12-05 03:57 vbmeta_systembak -> /dev/block/sda11
後略

これはXiaomiのRedmi Note 9Sで確認してみた結果。vbmetaがある。

ただし、パッチを当てたboot.imgでブートループなどの問題が発生しなければvbmeta.imgのパッチ当てとそのフラッシュ(イメージ焼き)も不要で良さそう。この記事でも割愛。
つまり、MagiskでのRoot化に必要なのはboot.imgファイルだけ。

Root Explorer
とりあえずGoogle PlayからRoot Explorerをインストールしておく。Root化した端末であればほぼなんでもやりたい放題にできるファイラーアプリ。端末をRoot化してなくてもユーザー所有のファイルであれば普通に便利なファイラーとして利用できる。(Root化が必要な機能は使えない)
「がとらぼ」の中の人は10年以上愛用している。そのせいもありXiaomiのスマートフォンに標準で入っているファイラーは意味がわからないので「がとらぼ」の中の人は全く使えない。

2022年12月1日追記:
この記事ではRoot Explorer (有料アプリ)を挙げていますが、Root Explorerを使わなくてはならないということではありません。圧縮ファイル解凍(抽出)機能があるファイラー、または圧縮ファイルの解凍(抽出)機能のあるアプリの使い慣れたものがあればそれを使ってください。

boot.imgの抽出

ファームウエアからboot.imgの抽出 1
ファームウエアのファイルを取得するためにAndroidの設定から「デバイス情報」をタップ。

ファームウエアからboot.imgの抽出 2
「MIUIバージョン」をタップ。

ファームウエアからboot.imgの抽出 3
中央のMIUIバージョンのロゴを連打するとUpdateの拡張機能をオンにできる。一度拡張機能をオンにしてしまえば次の大きな更新或いはファームウエアの焼き直しをするまでずっとオンが維持される。
Updateの拡張機能をオンにしたら右上の「」(メニューアイコン)をタップ。

ファームウエアからboot.imgの抽出 4
「最新のパッケージをダウンロード」をタップする。

ファームウエアからboot.imgの抽出 5
使用しているファームウエアとユーザーによってはファームウエアをダウンロードできないことがある。「がとらぼ」の中の人はMiパイロットテスターなのでこの画面のようにダウンロードできないと表示される(ことがある)。あとベータテスターに登録してる人なども。
一般ユーザーは普通にダウンロードできると思う。このようにダウンロードできない場合は次。
「ダウンロードできないことがある」というのは正式ローンチ前のMiパイロットテスト版や安定版ベータと言われる段階のファームウエアを既に使っていてMiアカウントにログインしていない場合のことを指します。普通のユーザーが正式ローンチ済みの安定版ファームウエアを使用している場合は使用中と同じバージョンまたは正式な更新版(次の安定版)を普通にダウンロードできる筈です。また、正式ローンチ済みの安定版ファームウエアをダウンロードする場合は後述の「暗号化の解除」というのは関係ないので「ダウンロード後に急いで」というのは不要でしょう。

ファームウエアからboot.imgの抽出 6
ファームウエアを焼き直した後などMiアカウントでログインし忘れていることがある(よね?)
MiパイロットテスターやベータテスターはMiアカウントにログインしましょう。一般のユーザーはMiアカウントにログインする必要は無いしそもそもMiアカウントを作る必要もないかも。
「Miアカウント」をタップ。

ファームウエアからboot.imgの抽出 7
MiアカウントにログインすればOK。電話番号以外の個人情報を登録する必要はないかと。
Android設定に戻って「デバイス情報」、「MIUIバージョン」右上の「」、「最新のパッケージをダウンロード」をタップ。

ファームウエアからboot.imgの抽出 8
Miアカウントにログインすれば、ファイルのダウンロードが行えるようになるので完了までしばらく待つ。
安定版ファームウエアを使用している普通のユーザーはMiアカウントにログインする必要はありません

ファームウエアからboot.imgの抽出 9
ダウンロードが終わると「暗号化の解除」が始まる。暗号化解除の完了を待つが、その後の操作は「なるはや」で実行。(次へ)
安定版ファームウエアのダウンロードの後には「暗号化の解除」はないでしょうが、もしあったら完了を待ってください。

ファームウエアからboot.imgの抽出 10
このとき、焦って「今すぐ再起動」をタップしないこと。(次へ)
ちなみに、端末はずっと再起動待ちになるが、boot.imgを抽出した後にダウンロードしたファームウエアのファイルを削除すれば「今すぐ再起動」を実行しても問題ない。(再起動待ちのアイコンがステータスバーから消える以外は何も起きない)

ファームウエアからboot.imgの抽出 11
先にインストールしたRoot Explorerアプリを起動し、内部ストレージのDownloadフォルダを開く。その中にdownloaded_romフォルダが作成されていてその下にダウンロードしたファームウエアのファイルが保存されている miui_機種コード+SKU_バージョン_謎の文字列.zipがそれ。今回はフルサイズのRecoveryファイル。
このファイル名をダブルタップする。(急いで次へ)

ファームウエアからboot.imgの抽出 12
ZIPファイルの中身のファイル一覧が表示される。その一番上にboot.imgが表示されることを確認。(急いで次へ)
なお、暗号化解除後にのんびりしていたり他の余計な操作を行っているとファイル一覧が表示できなくなる。圧縮ファイルではないとかファイルが正常ではないような旨のエラーが出たらこのダウンロードしたファームウエアファイルを削除してダウンロードをやり直す。
ダウンロードしたファイルの暗号化解除待ちがなかった場合は急ぐ必要はありません。この場合は何度でもファイルの解凍やファイルの抽出ができるのでファイル一覧が表示できないとかファイルが正常ではないというエラーも出ないのでダウンロードをやり直す必要もないでしょう。

ファームウエアからboot.imgの抽出 13
「boot.img」を長押しすると表示が反転する。そして右上に(抽出/ダウンロード)アイコンが表示されるのでそれをタップする。

ファームウエアからboot.imgの抽出 14
ファームウエアのファイルサイズが大きいのでboot.imgファイルの抽出にはしばらく待たされる。

ファームウエアからboot.imgの抽出 15
「抽出は正常に実行されました」が表示されれば成功。抽出されたファイルの保存場所が表示される。「展開先へ移動」をタップ。
なお、抽出が成功すれば後は急ぐ必要はない。

ファームウエアからboot.imgの抽出 16
抽出したboot.imgがある筈。
「boot.img」を長押しすると右上に幾つかアイコンが表示されるので「(カット)」アイコンをタップ。

ファームウエアからboot.imgの抽出 17
内部ストレージ直下の「Download」フォルダに移動して右下の「(ペースト)」で移動完了。

今回は正式ローンチ前の最新バージョン(Miパイロットテスト,ベータ)でもRoot化できるようにAndroid設定のソフトウエア更新からダウンロードしたファームウエアを使用したが、ローンチ済みのバージョンからboot.imgを抽出するなら、この「がとらぼ」のXiaomi + POCOファームウエア最新一覧から機種と国/地域の適切な組み合わせを検索してファームウエアをダウンロードできる。それを普通に解凍してboot.imgを取り出す方が簡単かも。

MagiskのインストールとRoot化

Magiskのダウンロード
https://github.com/topjohnwu/Magisk/releases からMagiskアプリの最新版をダウンロードする。

XiaomiスマートフォンをMagiskでのroot化 1
ダウンロードしたMagisk-v*****.apkをファイラー上でタップ。(上の画像はRoot Explorer)。インストールの許可を求められるので許可する/または単に「インストール」を選択。XioamiのMIUIだとさらに確認を求められるかも。また、インストール直前にセキュリティスキャンが実行される際にも確認を求められることも。(全部許可)

XiaomiスマートフォンをMagiskでのroot化 2
Magiskアプリのインストールが完了したらドロワー等からMagiskを起動する。
MagiskのRoot化パッチ済みboot.imgがインストール済みではないことを確認し「インストール」をタップ。

XiaomiスマートフォンをMagiskでのroot化 3
「bootイメージ中のvbmetaをパッチする」の意味は不明。vbmetaパーティションがある(Fastbootイメージにvbmeta.imgがある)場合はチェック不要なのかもしれない。反対にチェックしても何か変わった様子もない・・・
今回は、取り敢えずチェックして「次へ」をタップした。

XiaomiスマートフォンをMagiskでのroot化 4
方法のオプションはこの時点では1つだけ「パッチするファイルの選択」が表示されるのでそれをタップする。
「はじめる →」をタップする。

XiaomiスマートフォンをMagiskでのroot化 5
ファイルの選択画面が表示されるがこれがよく判らないやつ。上段の方に「他のアプリでファイルを探す」があるので左右にスクロールして使いやすいファイラーをタップする。上の画像ではRoot Explorer。

XiaomiスマートフォンをMagiskでのroot化 6
ファイラー(今回はRoot Explorer)で内部ストレージのDownloadフォルダに移動し、先に抽出した「boot.img」を選択(タップ)する。

XiaomiスマートフォンをMagiskでのroot化 7
パッチ当てが自動的に進行する。All done!が表示されれば完了。
左上の「←」をタップする。

XiaomiスマートフォンをMagiskでのroot化 8
元のboot.imgのあったフォルダ(今回は内部ストレージのDownloadフォルダ)に「magisk_patched-*****_*****.img」というファイルができている。

この「パッチの当たったboot.img」である「magisk_patched-*****_*****.img」をスマートフォンのBootパーティションにフラッシュする(焼く)ということになるが、正常に機能するかわからないものをいきなり焼くというのは怖い。 そこで「magisk_patched-*****_*****.img」をPCにコピーする。

fastbootコマンドはWindowsでもLinuxでも標準では入っていない。
Linux (debian/ubuntu系)なら

$ sudo apt install fastboot
$ sudo apt install adb    #adbも入れておくと後々便利

Windowsなら 15 seconds ADB Installer をインストールしてコマンドプロンプトで実行する。

XiaomiのスマートフォンとPCをUSBケーブルで接続する。
スマートフォンを再起動し、リブートで画面が真っ暗になったときに音量ボタンの↓を押したままにする。または、電源オフの状態で音量ボタンの↓を押しながら電源ボタンで電源オンにする。Fastbootの画面が表示されたらスマートフォンのボタンから手を離す。

PCのターミナル/コマンドプロンプトで、 magisk_patched-*****_*****.imgを置いたディレクトリに移動して

$ fastboot boot magisk_patched-*****_*****.img

これは、fastboot flash boot magisk_patched-*****_*****.imgではないので注意。これでAndroid OSが起動する筈だが正常に起動しないならboot.imgのパッチ当てで何か問題があったかもしれない。その場合は電源ボタン超長押しで電源オフか再起動で通常に戻る。(今回はパッチ当てしたboot.imgを電話機に書き込んではいなくて、PCにあるパッチ当てしたboot.imgを使って起動しただけなので)
Android OSが起動したらPCとのUSBケーブルの接続を外す。

XiaomiスマートフォンをMagiskでのroot化 9
OSが起動したらドロワーからMagiskアプリを開く。パッチの当たったboot.imgで起動しているのでMagiskがインストール済みでそのバージョンが表示された状態になっている。(これが重要)
「インストール」をタップする。

XiaomiスマートフォンをMagiskでのroot化 10
前回は、「パッチするファイルの選択」しかなかったが、今回は「直接インストール(推奨)」が表示されている。
その「直接インストール(推奨)」をタップして選択。「はじめる→」をタップする。

XiaomiスマートフォンをMagiskでのroot化 11
Root化パッチ適用済みのBootに改変される。
All done!が表示されれば書き込み完了。
右下の「再起動」をタップする。Android OSが再起動する。

XiaomiスマートフォンをMagiskでのroot化 12
ドロワーからMagiskアプリを開く。 既にBootが書き換えられてMagiskがインストール済みになっているのでそのような表示になっている。また、Ramdiskが「対応」になっている。このRamdiskの表示はどうでも良い。
右上の「 (設定)」アイコンをクリックする。

XiaomiスマートフォンをMagiskでのroot化 13
下にスクロールして、「Zygisk」のスイッチをオンにする。
Androidを再起動する。

XiaomiスマートフォンをMagiskでのroot化 14
Android OSの再起動後に再度ドロワーからMagiskアプリを開く。
Zygiskが「対応」になっていることを確認する。

MagiskによるRoot化が完了したので今回はここまで。

関連記事:

コメント: XiaomiのスマートフォンをMagiskでRoot化

  1. 他のサイトの方法でやったら文鎮化してしまいましたが、再度こちらの記事通り試したら無事にRoot化できました。機種はMi Lite 5G M2101K9Rで、renoir_jp_global_images_V13.0.2.0.SKIJPXM_20220317.0000.00_12.0_globalのROMでできました^^
    とても分かりやすい記事ありがとうございました。

  2. 無事にroot化できて良かったです。
    ベースのAndroidやUIのMIUIも次々更新されていますしMagiskも更新されています。
    この記事も暫く経つとその時の最新版では正しくない手順になっているかもしれません。
    最新版に近い版のMagiskを使った新しめの記事を参照すると成功しやすいかと思います。半年以内の条件を付けてググるとか。

  3. いろんなサイトの中で一番分かり易く、丁寧な説明でMagiskを導入することが出来ました!
    ありがとうございましたm(__)m

  4. 非常に参考になりました。
    ありがとうございました。
    ちなみにroot化以降のmiuiアップグレードなどはどうしたらよいのでしょうか。
    また、もし非root化する場合はどうしたらよいでしょうか。

  5. ファームウエアの更新はOTAでもリカバリでもFastbootでも普通に行えます。
    更新後にMagiskアプリを開きMagisk非インストール状態(パッチ済みboot.img非適用状態)になったらもう一度boot.imgのパッチを当て直せば良いです。
    Root要らなくなったのであればインストールしたMagisk用モジュールを無効化+アンインストールしてからMagiskのメイン画面の「Magiskのアンインストール」を行ってください。

  6. ROOT explorerは課金して取得するという事ですか?

  7. 凄くわかりやすいです。
    既にROOT化していたデバイスでしたが自動アップデートされ
    非ROOT状態になっており困っていました。

    ROOTexplorerは購入用で間違いないでしょうか?
    教えてください。
    よろしくお願いいたします。

  8. Google PlayにあるRoot Explorerの正規版は有料アプリです。同じ作者の無料版ファイラーアプリのExplorerは使ったことはありませんがレビューを見る限りあまり評判が良くなさそうです。Root Explorerは(特にRoot取得後に)便利なので愛用していて他のファイラーを使わなくなってるので例に挙げましたが、Root Explorerでなくてはならないということではありません。圧縮ファイルの中身を参照できて指定ファイルを抽出できるアプリがあればそれを、抽出できないなら全解凍して目的のファイルをコピペできれば良いので使い慣れたファイラーや解凍アプリを使ってください。

  9. がとさま

    ご丁寧にありがとうございました。
    すごくわかりやすかったです。
    これからも楽しみにしております!

コメントは締め切られています。