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の導入までの手順
以下から、「DSU-Sideloder」と「Magisk Manager」をダウンロードし、インストールしておきます。
起動できるGSIであれば何でもいいです。Phusson氏のGSIが一番確実かとは思います。以下はAndroid 12のGSIで、ファイル名に「secure」と入っていなければroot権限を含みます。GAppsは不要です。
今回は「Legion Y700」で行うため、「arm64」を選択しました。その中で最も容量の少ない「system-squeak-arm64-ab-vanilla.img.xz」を選択。
ダウンロードが完了したら、ファイルを解凍して中の.imgファイルを取り出し、Android端末へコピーします。
なお、拡張子が「.xz」「.gz」の場合はそのままでもAndroid側で読み込めますが、PCで解凍しておいたほうが速いのでオススメです。
DSU-Sideloaderを開き、GSIを起動していきます。
初期設定で作業用フォルダの指定などを求められるので、適当なフォルダを作成して指定します。
初期設定が完了したら、一番上の項目をタップし、GSIを選択します。
GSIを選択したら「DSUでGSIをインストール」をタップ。確認が表示されるので内容を確認して「進む」をタップ。すると右のように処理が進みますのでしばらく待ちます。
DSU-Sideloderの処理が完了すると、以下のようにADBコマンドが表示されるので、これをパソコンで入力します。
パソコンでコマンドを実行すると、以下のように通知バーに進捗状況が表示されます。完了したら「再起動」をタップしてGSIを起動します。
無事GSIが起動しました。USBデバッグは初期設定で有効化されていると思いますが、そうでない場合は有効化しておきます。
以下の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
正常にコマンドが実行できていれば、以下のようにboot.imgファイルが保存されています。
今回の場合はABパーティションに対応した端末のため、A/Bそれぞれのboot.imgがあります。この場合、使用するのはどちらか片方でOKですが、一方を試してみて不具合が出る場合はもう片方を試しましょう。
このboot.imgをパソコンにバックアップし、Android端末を再起動します。
もしもの場合に必要となるので、必ず保存しておきましょう。
再起動が完了したら、内部ストレージ内にコピーします。
Magiskアプリを起動し、「インストール」→「パッチするファイルを選択」をタップ。
これで先ほどコピーした「boot.img」を選択し、「はじめる」をタップします。
以下のように処理が完了すればOK。
「download」フォルダ内に、Magisk導入済みのboot.imgが配置されています。
あとはこれをfastbootコマンドでインストールするだけです。
adb reboot bootloader
説明:fastbootモードに再起動
fastboot flash boot
説明:bootイメージを書き込みます。最後に半角スペースを入力後、作成したbootイメージをドラッグアンドドロップ。
これでMagiskの導入が完了です。
Magisk Manegerを確認し、「インストール済」となっていれば完了です。
DSU LoaderでGSIが起動しない場合
機種やそのOSバージョン、また、選択したGSIとの相性などで起動しないこともあります。
以下のページでGSIがまとめられていますので、バージョンを変更するなどして試してみると起動するかもしれません。
スポンサーリンク
Androidが起動しなくなった場合
Android端末で、端末購入後にアップデートを行った場合などには、A/Bパーティションのbootイメージが異なる場合があります。この場合で、古い方のイメージファイルを使用してしまうと、Wi-Fiが動作しなかったり、Androidが起動しない場合があります。
この場合は、バックアップしておいたイメージを再度fastbootでフラッシュし、もう片方のboot.imgを使用して同じ手順を踏み、インストールを行いましょう。
コメント
コメント一覧 (12件)
いつも大変参考にさせていただき有難うございます。
同じ質問なのですがY700(2023)0.723からCrdroid9.9導入、DSUでGSI(何種類か)起動させてもadb shell suでsystem/bin/sh: su: inaccessible or not found とでてsuが通りません。USBデバッグも含めいろいろ確認しましたが解決せずGSIもいろいろ変えたのですが同様でした。何か考えられる間違いがないでしょうか?
[…] https://smartasw.com/archives/15704 […]
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に関連する記事を楽しみにしています。