root化済みAndroid端末のboot領域をぶっ壊したのでデータを保持したまま直した(直せた)ログ

この記事は約6分で読めます。
当サイトには、広告及びアフィリエイトリンクが含まれ、それによって収益を得ています。記事の内容やリンクには、プロモーションが含まれる場合があります。詳細については、プライバシーポリシーをご覧ください。

前提

環境

  • Xiaomi 13 Ultra
    • Bootloader Unlock済み
    • root化済み(だった)
    • 初期インストールOSはAndroid 13以上
  • Windows PC
  • fastboot、adb環境構築済み

出来事の詳細

先日Vpassアプリを入れたところ、かなり厳しい検知システムに勝てなかったため、本家MagiskをやめてMagisk HideがあるKitsune Maskに切り替えようかと思っていました。数日そのまま考えていて、「最悪iPhoneに入れればいいからまぁいいかな」と思っていたのですが、テストが終わった開放感から「root化済みなら簡単に移行できそうだし、1回Kitsune Maskを試してみるか」と思ったのが運の尽きでした。見事に手順を間違え、ブートループするXiaomi 13 Ultraが完成しました⋯

直すためにやったこと

セーフモードでの起動

無理でした。セーフモードすら起動しませんでした。

boot.img、init_boot.imgの焼き直し

とりあえず、Kitsune Maskでbootにパッチを当てたあとに壊れたことが明白で、特にMagiskモジュールとかLSPosedモジュールが原因ではないことから、boot.imgを焼き直す方針を採りました。

で、ここでまた問題が。昨日OTAアップデートしていたのですが、その時のバージョン情報を記録していませんでした。正確なバージョンが分からないので、とりあえずMifirmでXiaomi 13 UltraのEEA版の最新Zip ROMをダウンロードして、payload-dumper-goでimgファイルを取り出して、中のboot.imgを次のコマンドで焼かずに起動させてみました。ただし、これは普通はやってはいけません。ROMのバージョンごとにboot.imgなどの内容は違うので、バージョンが違うものを書き込むと死ぬ可能性があります1。今回何もなかったのは偶然です。

Bash
fastboot boot boot.img # boot.imgはROMのpayload.binから抜き出したファイル

これでは起動せず、また端末がfastbootモードになってしまいました。そこで、悪化するのが怖かったものの、以下のコマンドで焼いてみることにしました。

Bash
fastboot flash boot boot.img

これでもダメでした。ただ、fastboot自体は生きていたので、次はinit_boot.imgを焼いてみることに。Android 13が標準搭載されている端末は、Magiskでboot.imgじゃなくてinit_boot.imgにパッチを当てて焼くんですよね2。なので、init_boot.imgも焼かなきゃいけないんじゃないかと思ったのです。

Bash
fastboot flash init_boot init_boot.img

これで起動するようになりました。いやなんでだよ。バージョン違うのに起動したのは運が良かったとしか言いようがありません。

セーフモードで初回は起動したので、とりあえず無くなったら困るデータを退避させました。いや、データバックアップさせずにrootイジるなって話なんですが⋯

ここで正確なバージョン情報を確認し、PCで再度バージョンが合致したROMをダウンロード、boot.imginit_boot.imgをpayload-dumper-goで取り出しておきます。

そして、再びfastbootモードで、バージョンが合致している正しいboot.imginit_boot.imgをflashしました。コマンドは同じで、ファイルが端末のバージョンと同じROMから取り出したimgファイルになっただけです。

再起動したら通常ブートになると思うので、そこでMagisk(or Kitsune Mask)インストールして、さっき解凍したinit_boot.imgにパッチを当てます。パッチを当てたファイルをPCに転送しておきます。

次に、端末をfastbootモードで起動し、PCで以下のコマンドを実行します。

Bash
fastboot flash init_boot <パッチされたinit_boot.imgファイ>

これで再root化でき、今回は運良くrootアプリたちが特に何もしなくても戻ってきました。本当に運が良かったです⋯

ただ、ホーム画面の配置などは初期化されてしまうと思うので、それはなんとかしましょう。私は以前にもやらかして焼き直しし、結果ホーム画面の再配置に数時間を費やした経験から、Swift BackupでホームランチャーとHomeLayoutを両方全データバックアップしていたのでなんとかなりました。

おわりに

毎回イジって壊しかけるのやめたい

ちなみにVpassアプリはダメでした。諦めます⋯

参考情報

  1. https://mitanyan98.hatenablog.com/entry/2021/12/29/132317#:~:text=boot.img%E3%81%AF%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB(OS%E3%81%AE%E4%B8%AD%E6%A0%B8%E6%A9%9F%E8%83%BD)%E3%82%82%E5%90%AB%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%A7%E3%80%81%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E9%81%95%E3%81%84%E3%80%81%E3%83%AA%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E9%81%95%E3%81%84%E3%80%81%E6%A9%9F%E7%A8%AE%E9%81%95%E3%81%84%E7%AD%89boot.img%E3%82%92%E4%BD%BF%E3%81%84%E3%81%BE%E3%82%8F%E3%81%99%E3%81%93%E3%81%A8%E3%81%AF%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%99%EF%BC%81%EF%BC%81[]
  2. https://mitanyan98.hatenablog.com/entry/2021/12/29/132317#:~:text=Android13%E3%81%8C%E5%88%9D%E6%9C%9F,%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82[]

病気療養中のガジェットオタクです。PC、スマホからオーディオ、家電まで、デジモノ・IT系中心に自分の興味のあるものならなんでも記事にします。誤字脱字など、ミスの報告歓迎です。
お問い合わせは、当ブログのお問い合わせフォームにお願いします。レビュー依頼など、各種ご依頼承っています。

でじぃをフォローする↓
How to
スポンサーリンク
でじぃをフォローする↓
タイトルとURLをコピーしました