boot.imgを入手できない機種でMagiskを導入する方法【DSU Loader】

Android端末のカスタマイズやRoot権限の使用が可能となる「Magisk」ですが、一部例外を除き、導入にはboot.imgが必要です。

TWRPがある機種ならそこからインストールするだけですが、最近はTWRPがリリースされていない機種が多いです…。

Xiaomi端末など、ROMを簡単に入手できる場合はそこから取り出せばよいだけなので、特に難しいことはありませんが、ROMが配布されていない機種の場合は端末自体から取り出す必要があります。

今回の記事では、DSU Loaderを使用して端末からboot.imgを抽出する方法と、そこからMagiskを導入する方法を紹介します。

AndroPlusさんの情報(このGitHubページ)を参考にしました。

なお、今回はLegion Y700(Android 11/ZUI 13)で行いました。

目次

端末側の条件

  • Android 11以降を搭載
  • Project Treble対応(対応しているかはアプリで確認可能)
  • ブートローダーアンロック済み

基本的にはこの条件を満たせば可能ですが、すべての端末で動作するとは限りません。

USBデバッグを有効化しておく

事前にAndroid端末側の設定で「USBデバッグ」を有効化しておいてください。

スポンサーリンク

boot.imgの抽出・Magiskの導入までの手順

STEP
アプリ2つを導入

以下から、「DSU-Sideloder」と「Magisk Manager」をダウンロードし、インストールしておきます。

GitHub
Releases · VegaBobo/DSU-Sideloader A simple app made to help users easily install GSIs via DSU's Android feature. - VegaBobo/DSU-Sideloader
GitHub
Releases · topjohnwu/Magisk The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account on GitHub.
STEP
root権限のあるGSIをダウンロードし、Android端末へコピー

起動できるGSIであれば何でもいいです。Phusson氏のGSIが一番確実かとは思います。以下はAndroid 12のGSIで、ファイル名に「secure」と入っていなければroot権限を含みます。GAppsは不要です。

GitHub
Release AOSP 12.0 v402 · phhusson/treble_experimentations More February security patch level (previous one had only some patches, not all) Available as OTA from v401 in Treble Settings => Updater

今回は「Legion Y700」で行うため、「arm64」を選択しました。その中で最も容量の少ない「system-squeak-arm64-ab-vanilla.img.xz」を選択。

ダウンロードが完了したら、ファイルを解凍して中の.imgファイルを取り出し、Android端末へコピーします。

なお、拡張子が「.xz」「.gz」の場合はそのままでもAndroid側で読み込めますが、PCで解凍しておいたほうが速いのでオススメです。

STEP
DSU-SideloaderでGSIを起動

DSU-Sideloaderを開き、GSIを起動していきます。

初期設定で作業用フォルダの指定などを求められるので、適当なフォルダを作成して指定します。

初期設定が完了したら、一番上の項目をタップし、GSIを選択します。

GSIを選択したら「DSUでGSIをインストール」をタップ。確認が表示されるので内容を確認して「進む」をタップ。すると右のように処理が進みますのでしばらく待ちます。

STEP
表示されたコマンドを実行

DSU-Sideloderの処理が完了すると、以下のようにADBコマンドが表示されるので、これをパソコンで入力します。

パソコンでコマンドを実行すると、以下のように通知バーに進捗状況が表示されます。完了したら「再起動」をタップしてGSIを起動します。

STEP
GSIでUSBデバッグを有効化

無事GSIが起動しました。USBデバッグは初期設定で有効化されていると思いますが、そうでない場合は有効化しておきます。

STEP
ADBコマンドでboot.imgを抽出

以下のADBコマンドを順番に実行します。

adb shell

su

※GSIによっては、このコマンドを実行すると、Android端末の画面に「SuperUser」の権限を求める画面が表示される場合があります。この場合は、許可(Allow)をタップしてください。

cd /dev/block/bootdevice/by-name/

説明:イメージファイルのある場所へ移動します。Mediatek製SoC搭載端末では「cd /dev/block/by-name/」となる場合もあるとのことです。

mkdir /sdcard/backup_img

説明:imgファイルを保存するフォルダを作成します。

最後に以下のコマンドを入力すれば、boot.imgが取り出せます。

for file in *; do
    if [[ "${file}" = boot* ]]; then dd if=/dev/block/bootdevice/by-name/"${file}" of=/sdcard/backup_img/"${file}".img ; else continue ; fi
done
STEP
boot.imgをPC等にバックアップ→Android端末の再起動後、内部ストレージへコピー

正常にコマンドが実行できていれば、以下のようにboot.imgファイルが保存されています。

今回の場合はABパーティションに対応した端末のため、A/Bそれぞれのboot.imgがあります。この場合、使用するのはどちらか片方でOKですが、一方を試してみて不具合が出る場合はもう片方を試しましょう

このboot.imgをパソコンにバックアップし、Android端末を再起動します。

もしもの場合に必要となるので、必ず保存しておきましょう。

再起動が完了したら、内部ストレージ内にコピーします。

STEP
Magisk Managerでパッチ

Magiskアプリを起動し、「インストール」→「パッチするファイルを選択」をタップ。

これで先ほどコピーした「boot.img」を選択し、「はじめる」をタップします。

以下のように処理が完了すればOK。

STEP
出力されたMagisk導入済みboot.imgをインストール

「download」フォルダ内に、Magisk導入済みのboot.imgが配置されています。

あとはこれをfastbootコマンドでインストールするだけです。

adb reboot bootloader

説明:fastbootモードに再起動

fastboot flash boot

説明:bootイメージを書き込みます。最後に半角スペースを入力後、作成したbootイメージをドラッグアンドドロップ。

これでMagiskの導入が完了です。

Magisk Manegerを確認し、「インストール済」となっていれば完了です。

DSU LoaderでGSIが起動しない場合

機種やそのOSバージョン、また、選択したGSIとの相性などで起動しないこともあります。

以下のページでGSIがまとめられていますので、バージョンを変更するなどして試してみると起動するかもしれません。

GitHub
Generic System Image (GSI) list Notes about tinkering with Android Project Treble. Contribute to phhusson/treble_experimentations development by creating an account on GitHub.

スポンサーリンク

Androidが起動しなくなった場合

Android端末で、端末購入後にアップデートを行った場合などには、A/Bパーティションのbootイメージが異なる場合があります。この場合で、古い方のイメージファイルを使用してしまうと、Wi-Fiが動作しなかったり、Androidが起動しない場合があります。

この場合は、バックアップしておいたイメージを再度fastbootでフラッシュし、もう片方のboot.imgを使用して同じ手順を踏み、インストールを行いましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (12件)

  • いつも大変参考にさせていただき有難うございます。
    同じ質問なのですがY700(2023)0.723からCrdroid9.9導入、DSUでGSI(何種類か)起動させてもadb shell suでsystem/bin/sh: su: inaccessible or not found とでてsuが通りません。USBデバッグも含めいろいろ確認しましたが解決せずGSIもいろいろ変えたのですが同様でした。何か考えられる間違いがないでしょうか?

  • STEP6 ADBコマンドでboot.imgを抽出
    の項目で「su」を打った後、以下のメッセージが表示され、次に進めませんでした。
    system/bin/sh: su: inaccessible or not found

    権限がないようなのですが、どのように処理すればよいかわかりますでしょうか。

  • 教えてください。

    自分もtwrpやromが配布されていない中で貴ページを見つけstockromのバックアップを行おうと思っているのですが、アプリでProject Trebleに対応していることは対応しているのですが、古いタイプに対応していますと出ていて、シームレスアップデートについてはAonlyとなっています。そこで疑問なのですがこの手法ではboot.imgは取り出すことは可能なのでしょうか?

  • adb reboot bootloader
    ↑実行後VIVO FAST BOOTの画面にはいきますが、
    fastboot flash boot実行しようとするとwaiting~となり実行できません。
    何が問題でしょうか

  • はじめまして、失礼します。
    この記事の方法で入手できるboot.imgはGSIのものではなく、元のROMのものということでしょうか?

    • 勘違いされているようですが、GSIは名前の通り「system」イメージのみですので、boot.imgは含みません。DSU Loaderは、端末に導入されているbootパーティションを使用して起動しますので、この記事で取り出せるboot.imgは端末自体のものです。

      • 返信ありがとうございます。
        Y700到着待ちで勉強させてもらっています。
        勘違いしておりました。GSIはsystem.imgということであれば当然boot.imgは端末のものですね。
        今後もY700に関する記事楽しみにしております。ありがとうございました。

  • 関係ないけどYoutubeの方もそろそろ復活してくれると嬉しいです…本当に関係ないですねすみません

  • いつも参考にさせて頂いています。
    別記事にあるようにTreble ARM64 bvSを導入した後にDSU-Sideloderでsystem-squeak-arm64-ab-vanilla.img.xzをインストールしようとしましたが「インストールに失敗しました」となってしまいます。別GSIを焼いてしまっている状態ではboot.imgの入手は難しいのでしょうか。Magiskの導入に四苦八苦しています。ご教示頂ければ幸いです。

    • GSI導入後ではこの記事の方法では難しいと思います。ただ、導入したGSIにroot権限が含まれているならコマンドは実行できるはずです。
      それでも無理なら初期ROMに戻してからの作業になります。

      • お答えありがとうございます、やはり難しいですか。ある程度使い始めてしまったので、magisk導入せずにこのまま使っていきます。一連の記事は大変参考になっています。今後のy700に関連する記事を楽しみにしています。

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次