どんな記事?
Magiskでrootを取得しているGoogle Pixelデバイスに対して、ワイプせずシステムアップデートを適用する手順をまとめました。Pixel 6およびPixel 7で確認しています。
手順
この方法でPixel 7の2022年12月のアップデートも適用できました。試したのはWindows 11の環境です。fastbootを最新のものに更新しておいてください。
対応するファクトリーイメージをダウンロード
Factory Images for Nexus and Pixel Devices
ダウンロードしたZIPファイルを解凍
こんな感じになるかと思います。
flash-all.batを編集
# この行を
fastboot -w update image-oriole-sq1d.220105.007.zip
# これに書き換える
fastboot update image-oriole-sq1d.220105.007.zip
内容としてはワイプのオプションを削除して、検証を無効化するオプションを追加しています。image-oriole-sq1d.220105.007.zip
の部分はファクトリーイメージを解凍して出てきたZIPファイル名にします。
※ Magisk 23016からverity/verificationの無効化が不要になったみたいなので、単純にワイプのオプションを削るだけでいいです。詳細は以下のコミットをご確認ください。
ただしPixel 7でカスタムカーネルを使っている場合は現時点(2022/12/07)で引き続きverity/verificationの無効化が必要です。詳しくは以下記事にて。
boot.imgにMagiskでパッチを当てておく
image-oriole-sq1d.220105.007.zip
を解凍してboot.img
をデバイスに転送し、Magiskアプリでパッチを当ててからPCに戻します。
Pixel 7以降はinit_boot.img
に対してパッチを当てます。
デバイスをfastbootに再起動
再起動時にボリュームダウンを押しっぱなしにするとfastbootに入れます。
flash-all.batを叩いてアップデートを適用
完了するまで待ちます。その間にデバイスは何度か再起動します。
完了したらもう一度fastbootに再起動
完了すると通常起動しますが、パッチを当てたboot.imgを焼きたいのでもう一度fastbootで再起動します。
Magiskパッチしたboot.imgをデバイスに焼く
以下のようにしてboot.imgを焼きます。
fastboot.exe flash boot magisk_patched-23016_M3YF8.img
Pixel 7以降は以下の通り。
fastboot.exe flash init_boot magisk_patched-23016_M3YF8.img
再起動して完了
レッツエンジョイ!
その他
Android Flash Toolを使うこともできます。
コメント
Your device is corrupt. It can’t be trusted and may not work properly.
と出てしまいそのままファストブートにも入れなくなってしまいました
どうすればいいでしょうか?
お願いします どうか助けてください
機種はPixelシリーズということでよろしいでしょうか。
まずは状況を整理したいので、起動しなくなってしまった経緯と、そこから試したことを教えてもらえますか?
このサイトの通りflash all.dat のーwを消して実行
その後magiskでパッチしたboot imgを実行したところyour device …
と出ました
そしてファストブートに入れなくなり 全く反応しなくなりました
具体的にはpixel 6aです
それからこちらの注意書きはこのとおりにしましたか?
Pixel 6シリーズをAndroid 13にアップデートする場合、必ず両方のスロットに対して更新を適用する必要があります。
https://developers.google.com/android/images?hl=ja#updating_pixel_6_pixel_6_pro_and_pixel_6a_devices_to_android_13_for_the_first_time
Fastbootに入れないという状況に陥ったことがないのですが、強制再起動後にボリューム下ボタンを押しっぱなしでも駄目でしょうか?
Pixel 7以降はMagiskでパッチを当てるファイルが init_boot.img なんですが、Pixel 6aの場合は boot.img であってるはずですね。
ちなみにPC側のfastbootのバージョンはいくつを使っていますか?
最新の34だとSuperパーティションが正常に焼けない既知の不具合があるようですので、33.0.3を使ってみてください。
そうだったんですか 自分が持ってるものはもとからアンドロイド13で1か月に1っ回のバージョンアップをしようとしたんですよね
確かに今34.0.1 のadbを使ってました
ファストブートに入れないというか完全に真っ暗なんですよね
すると定例アップデートの際にFastbootの不具合が重なってしまったのかもですね…
まずはadbとfastbootのバージョンを33.0.3にして、そこからなんとかFastboot状態に持っていきたいところですね。
PCからもまったく認識されていないでしょうか? お使いのOSがWindowsならデバイスマネージャに認識されているかどうか確認してみてください。
認識できていないようです
fastboot と adbのバージョンを33.0.3 に戻せました
状況を整理したいので、起動時に表示されるメッセージを写真に撮って送っていただくことはできますか?
のちほどこちらからメールをお送りしますので、そちらに返信してもらえれば大丈夫です。
(対応するfactry image)というのは自分がアプデしたいバージョンってことで大丈夫ですか?とりあえず一番新しいのでいいのか…
あと最近導入されたandroid14をroot維持しながらアプデできるのか知りたいです!
よほどの理由がないかぎり、基本的には最新バージョンのイメージを使えば問題ありません。国やキャリアによって分かれている場合があるので、その場合は注意が必要です。
僕はすでにAndroid 14にアップデートしましたが、いつもの手順でRoot維持のままアップデートすることができました。「14.0.0 (UP1A.231005.007.A1, Oct 2023, Japan)」というほうを選べば大丈夫です。
返信ありがとうございます(._.)
無事android13の最新までアプデできました!
同様にfactory imageからアプデしてmagisk導入し直せば良いのも理解しました!
ただ、自分で調べたのですがfactory imageの配布が見当たらないので、url貼っていただきたいです🙏
アップデート適用できたみたいでよかったです!
ファクトリーイメージはこちらのページから入手できます。
https://developers.google.com/android/images
最近のファクトリーイメージは日本語ページには反映されていないことが多いので、右上の言語切替から英語を選んでみてください。
先程のurlでfactry imageの手順通りall batを実行したら、起動してgoogleのロゴのループに陥ってしまいました。
adbコマンドも生きているのでandroid13のall batの実行で直すことはできるのですが、android14のall bat を実行するとループしてしまいます…
解決策等あればご教示お願い致します。
追記です。
途中のcmdを見てみたらerror吐いてました。
extracting super_empty.img (0MB) to disk …took 0.000s
extracting product img(2982MB) to disk …fastboot:error:
failed to ectract product.img:I/0 error
という感じでした、
superパーティションを焼くのに失敗しているようです。
過去に他記事のコメントにて言及したことがあるのですが、fastbootの34系には不具合があるようなので、33系にバージョンダウンしてお試しください!
うまくいきますように!
あるいはAndroid 14に上げるだけならブラウザで焼くツールがファクトリーイメージの公開場所で提供されているので、そちらを試すのも手です。
androidフラッシュツールでwebからアプデしたら無事にアプデしてrootも取れました!本当に助かりました。ありがとうございました!🙏
うまくいったようでよかったです!
おめでとうございます!🎉✨