
昔の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ファイルだけ。

とりあえずGoogle PlayからRoot Explorerをインストールしておく。Root化した端末であればほぼなんでもやりたい放題にできるファイラーアプリ。端末をRoot化してなくてもユーザー所有のファイルであれば普通に便利なファイラーとして利用できる。(Root化が必要な機能は使えない)
「がとらぼ」の中の人は10年以上愛用している。そのせいもありXiaomiのスマートフォンに標準で入っているファイラーは意味がわからないので「がとらぼ」の中の人は全く使えない。
2022年12月1日追記:
この記事ではRoot Explorer (有料アプリ)を挙げていますが、Root Explorerを使わなくてはならないということではありません。圧縮ファイル解凍(抽出)機能があるファイラー、または圧縮ファイルの解凍(抽出)機能のあるアプリの使い慣れたものがあればそれを使ってください。
boot.imgの抽出

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

「MIUIバージョン」をタップ。

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

「最新のパッケージをダウンロード」をタップする。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

パッチ当てが自動的に進行する。All done!が表示されれば完了。
左上の「←」をタップする。

元の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ケーブルの接続を外す。

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

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

Root化パッチ適用済みのBootに改変される。
All done!が表示されれば書き込み完了。
右下の「再起動」をタップする。Android OSが再起動する。

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

下にスクロールして、「Zygisk」のスイッチをオンにする。
Androidを再起動する。

Android OSの再起動後に再度ドロワーからMagiskアプリを開く。
Zygiskが「対応」になっていることを確認する。
MagiskによるRoot化が完了したので今回はここまで。
関連記事:- Root化したAndroidでLSPosedモジュールのインストールと使用
- MagiskでRoot化したAndroidでRoot対応アプリを使用 & LSPosedをインストール
- XiaomiのスマートフォンをMagiskでRoot化 ←いまここ
- Xiaomiのスマホをブートローダーアンロック
- ADBとFastboot
- ヘッドユニットTS20のTLINKをZLINK 6に更新してAndroid Autoで接続してみた
- Amlogicチップ搭載のTVボックスをCoreELECで最高のメディアプレーヤーにする インストール編
- テレビボックスX88 PRO X5Mの初期設定
- Googleマップをドライブモードで起動する新アプリ Drive Mode Launcher
- PinP対応の高機能カーランチャーアプリLecoauto Launcher
- Android Auto代替ヘッドユニットサーバアプリZLINK 5とHeadunit Reloaded Emulator HUR
- AndroidナビのGoogleマップをドライブモードで表示する
- 普通のAndroidナビとDUDUAUTOの2K DVRでAR ADASと音声警告を使えるようにする
- 古い車の近代化改修 Carplay, Android Auto対応のフロントカメラ別体型デジタルミラーを触ってみた
- 中華Androidナビ K4811のファームウエア更新
- iQOO Z8 5GをAndroid 14ベースのOriginOS 4に更新
- iQOO Z8 5Gの中国人民向けOriginOSの呪いを解く (非ROOT)
- 車の近代化改修 バルブ型 Bluetooth TPMSセンサーの取り付け
- AndroidナビでDDPAI Z50を設定 DDAPIアプリのアプリ設定とデバイス設定
- NAVITIMEのスマートフォンアプリAiRCAMでAR ADAS表示して走行してみた
- 怪しい中華13.1インチAndroidナビは本当にAndroid 13なのか
- 360度カメラ対応の中華13.1インチAndroidナビ 日本で使用するためのTips
- 古い車の近代化改修 360度カメラ対応の中華13.1インチAndroidナビ 本体設置
- MIUI Downloader | News & AppsアプリでXiaomiスマホのシステムアプリ更新と隠し機能の呼び出し
- MIUI Downloader | News & AppsアプリでXiaomiスマホの最新ファームウエアを入手する
- Root化したAndroidでLSPosedモジュールのインストールと使用
- MagiskでRoot化したAndroidでRoot対応アプリを使用 & LSPosedをインストール
- Redmi Note 9S向けにAndroid 12ベースのMIUI 13がリリースとシステムアプリ消し
- XiaomiのスマートフォンをMagiskでRoot化
- AdGuardで広告ブロック (Android)
- Androidでアドレス帳/カレンダーの切り替え (DAVx5 CalDAV/CardDAV同期アプリを使って)
- DAVx5 - Android用CalDAV/CardDAV同期アプリ
- Androidスマホ画面をWindowsで表示 (ワイヤレスディスプレイ プロジェクション)
- ノートPCにChromium OSじゃなくてChrome OSを入れてみた
- Redmi Note 9SにXiaomi公式Android 11を入れてみた











