マジスクでルート化されたXiaomi Mi A2でOTA更新を簡単に受信する方法
ルート化されたXiaomi Mi A2にOTA更新を適用すると、デバイスのルート化を解除し、すべての手順を繰り返してルート化するため、大きな頭痛の種になります。 幸いなことに、OTA更新をサポートするMagiskをインストールする方法があります。
そのため、デバイスのルートを解除せずにOTA更新を適用できる一方でXiaomi Mi A2をルートしたい場合は、以下の簡単なガイドに従ってください。
要件:
- ADBとFastboot(Appualのガイド「WindowsにADBをインストールする方法」を参照)
- MiFlashツール
まず、ブートローダーのロックを解除する必要がありますが、細心の注意を払う必要があります。また、Xiaomiブートローダーのロック解除プログラムが最近非常に遅くなっていることにも注意してください。 ブートローダーのロック解除コードを受け取るには数週間かかる場合があります。 また、XiaomiデバイスのARB( アンチロールバック保護メカニズム)に注意する必要があります。
デバイスのブートローダーが既にロック解除されている場合は、すばらしい! 続行できます。
開発者モードがロック解除されるまで、[設定]> [システム]> [電話について]に移動し、[ビルド番号]を7回タップします。
次に、[設定]> [開発者オプション]に移動して、OEMロック解除を有効にします。
次に、デバイスをシャットダウンし、音量ダウン+電源ボタンを押し続けます。 Fastbootメニューに入るときにボタンを離します。
Xiaomi Mi A2をUSB経由でPCに接続し、ADBターミナルを起動します(メインのADBフォルダーでShiftキーを押しながら右クリックし、[ここでコマンドウィンドウを開く]を選択します)。
ADBターミナルで、次のコマンドを入力します。fastbootoem unlock
これにより、携帯電話が再起動し、ブートローダーのロックが解除されている間、すべてのデータが消去されます。
Magiskのインストール
スマートフォンにMagisk Manager APKの最新バージョンをダウンロードしてインストールします。
次のダウンロードからパッチを適用したboot.imgをダウンロードします。あるいは、boot.imgのダウンロードリストの下で、オリジナルのboot.imgを自分でパッチする方法を示します。
パッチを当てたboot.imgをダウンロードするときは、現在のビルド番号と同じビルド番号が含まれていることを完全に確認する必要があります。 そのため、続行する前に[設定]> [電話について]でビルド番号を確認し、ファイルを電話のメモリに直接フラッシュしないでください。Magiskは正常に動作しません。 私たちの指示は、それらが書かれているとおりに非常に注意深く正確に実行してください。
パッチを当てたboot.imgをPCのADBフォルダーにダウンロードする必要があります。
- patched_boot 9.6.4.0(2018年7月更新)– Magisk 17.1でパッチ適用
- patched_boot 9.6.6.0(2018年8月更新)– Magisk 17.1でパッチ適用
- patched_boot 9.6.8.0(2018年9月の更新)– Magisk 17.1でパッチを適用
誤って間違ったboot.imgをフラッシュした場合は、以下のリストから元のboot.imgをフラッシュできます。
- オリジナルのboot.img 9.6.4.0(2018年7月更新)– fastboot ROMから取得
- オリジナルのboot.img 9.6.6.0(2018年8月更新)– OTA更新から取得
- オリジナルのboot.img 9.6.8.0(2018年9月の更新)– OTAの更新から取得
手動でboot.imgパッチを実行する場合は、元のboot.imgが必要です。これは、 daisyの公式fastboot ROM zipファイル内にあります。 ただし、ダウンロードしたROMバージョンのビルド番号が携帯電話のものと同じであることを確認してください。 そのため、携帯電話と同じビルド番号で元のboot.imgをダウンロードするか、バージョンを更新/ダウングレードします。
オリジナルのboot.img( 公式のfastboot ROM zipから抽出)を入手したら、それを電話の外部メモリ (SDカード)にコピーする必要があります。
ここでMagisk Managerアプリを開き、Magiskをインストールするかどうかを尋ねられます。インストールを受け入れ、「パッチブートイメージファイル」を選択して、転送したboot.imgファイルを選択します。
プロセスの完了には約1分かかるため、完了したら終了してください。 ダウンロードディレクトリの携帯電話のメモリに、「patched_boot.img」というファイルがあります。このファイルをPCに転送する必要があります。 メインのADBフォルダー内に配置します。
次に、デバイスをFastbootモードで再起動し( Power + Volume Downを忘れないでください)、PCでADBターミナルを起動します。
ADBターミナルで、次のコマンドを入力します。fastboot boot patched_boot.img
これで、電話機が正常に起動するはずです。 Androidシステムに戻ったら、Magisk Managerアプリを開き、Magiskのインストールをもう一度求められます。 先に進み、[インストール]> [直接インストール]を選択し、完了したら再起動します。
今後のOTA更新の予防策として、[設定]> [システム]> [開発者オプション]> [自動システム更新を無効にする]に移動します。 OTAアップデートを手動でインストールすることのみを選択する必要があります。 ルート化されたAndroidデバイスで自動OTAを許可しないでください。
将来のOTAアップデートを適用する方法
OTAの更新は、デバイス上のすべてのパーティションが変更されていない場合にのみ機能することに注意してください! Magiskは元のboot.imgを復元できますが、build.propを手動で編集するなど、何らかの方法で/ systemパーティションを変更した場合、OTAはインストールを拒否します。
元のROM .zipから適切な.imgファイルを使用して、元のfastboot ROMから/ systemパーティションのみをフラッシュするなど、変更されたパーティションのみをフラッシュする場合、元のfastboot ROM全体をフラッシュする必要なくOTA更新を適用することができますファイル。
そのため、インストールする新しいOTAアップデートが利用可能になったら、Magisk Managerを起動して「アンインストール>イメージの復元」をタップする必要がありますが、まだデバイスを再起動しないでください。
Magiskを閉じて、デバイスの[設定]> [システム]> [システムアップデート]に移動し、OTAアップデートをインストールします。 更新がダウンロードされると、2段階の更新が開始されます。 コーヒーを入れることをお勧めします。マダリンスタントカーズ2のクイックゲームを楽しむか、インポッシブルクイズで頑張ってください ( 幸運を祈ります!)
更新段階が完了すると、再起動を求められます。 デバイスを再起動しないでください 。 もう一度Magisk Managerを起動し、[インストール]> [インストール]> [非アクティブスロットへのインストール(OTA後)]をタップします。その後のみ、再起動に進みます。
Xiaomi Mi A2が再起動した後、Magiskで更新されたAndroidバージョンがまだ無効になっているはずです。
トラブルシューティング
注:これらの操作のいずれかに進む前に、データの暗号化の問題を引き起こす可能性があるため、デバイスの画面セキュリティ(画面ロック、PIN、パスワード、指紋など)を無効にする必要があります。 最初にバックアップを作成することを強くお勧めします。
このガイドに従わなかった場合、いくつかの問題が発生する可能性があります。
新しいバージョンが見つかると、アップデーターはデバイス上のすべてのパーティションが変更されていないかどうかを確認します。 変更されたパーティションがある場合、OTAアップデーターはインストールを続行しません。
通常、ユーザーの改造によって一般的に変更される2つのパーティションは、ブートパーティション(MagiskとTWRPがインストールされている場所)とシステムパーティション(構成ファイルの変更、システムアプリの追加または削除など)です。
Magiskモジュールのみを使用して変更されたシステムパーティションは、実質的に変更されません。これは、Magiskが/ systemに対するすべての変更を/ dataパーティションのファイルに登録し、Androidにそれらの変更が/ systemに実際に適用されると信じさせるためです
代わりにブートパーティションは実際に変更されますが、このガイドに従ってMagiskをインストールすると、Magiskは未変更のブートパーティションのコピーを保存し、OTA更新を適用する前に復元することで更新が機能します。
ここで、このガイドに従ってマジスクをインストールせずに他の方法でインストールした場合、マジスクは、OTA更新を適用しようとすると元のboot.img(ブートパーティション)を復元できないことを警告できます。
これを修正するには、これらのコマンドを使用して、このガイドのポイント6から取得したバニラ(元の、変更されていない、そのままの)boot.imgを直接フラッシュできます。
fastboot getvar current-slot fastboot flash boot_? boot.img
最初のコマンドは現在使用中のスロット( aまたはb )を示し、2番目のコマンドは元のブートを電話機にフラッシュしますが、コマンドの「?」をaまたはbで変更する必要があります(つまり、最初のコマンドが提供した現在のスロット)。
boot.imgファイルのバージョンは、携帯電話で現在実行されているAndroidビルドバージョンに対応している必要があることに注意してください。
それでもOTA更新が適用を拒否する場合は、おそらく/ systemパーティションで何かを直接変更しました(たとえば、これを行うためにMagiskモジュールを使用せずにbuild.propで何かを変更しました)。
この場合、これらのコマンドを使用して、電話機の元のsystem.imgをフラッシュする必要があります。
fastboot getvar current-slot fastboot flash system_? system.img
前と同様に、最初のコマンドは、2番目のコマンドで「?」の代わりに使用する適切なスロットを示します。
ここで、OTA更新zipから抽出されたsystem.imgを見つけることができます(その中の他のすべての.imgファイルと共に):
- 9.6.8.0(2018年9月).imgファイルとしてのOTA更新ダンプ
- 9.6.6.0(2018年8月).imgファイルとしてのOTA更新ダンプ
system.imgを自分で入手したい場合は、fastbootイメージ内で見つけることができますが、通常はOTAアップデートのように毎月更新されません。 ただし、ここにあるPythonスクリプトを使用して、このスレッドにあるOTA更新zipからsystem.imgを直接抽出できます。
PythonスクリプトをDebian / Ubuntuおよび派生物で動作させるには、「extract_android_ota_payload.py」と「update_metadata_pb2.py」の両方をダウンロードし、実行プロパティを指定してからパッケージ「python-protobuf」をインストールする必要があります。 この後、payload.binファイル(OTA更新zipから抽出する必要があります)を解凍するためにこのコマンドを与えることができます:
./extract_android_ota_payload.py /path/to/payload.bin
これにより、system.imgを含むpayload.bin内のすべての.imgファイルが現在のディレクトリに抽出されます。
Windowsでの処理方法がわかりません。おそらく、最新のPython2リリースをインストールするだけでスクリプトは機能します。
最後の手段として、使用可能な最新の高速ブートイメージを(現在のバージョンより古い場合でも)MiFlashで直接フラッシュできます。 電話が完全にリセットされるため、「 flash_all.bat 」スクリプトを使用しますが、データのバックアップを取る前に使用します。
バックアップを行わないというリスクを取りたくない場合は、フラッシュ時にスクリプト「 flash_all_except_storage.bat 」を使用してください。これにより、すべてのデータが保持されますが、データにアクセスできなくなる場合があることに注意してください、暗号化の問題のため。
フラッシュの直後に、ポイント5または6からガイドに従うことができます。
Androidのメインバージョンが同じままである限り(現時点ではOreo 8.1)、fastbootを使用してビルドバージョンをダウングレードしても問題はありません。
Mi A2 ジャスミン用のパッチが適用された元のブートファイル(Mi A2 Lite デイジーでは使用しないため、このガイドの最初のセクションでデイジーのファイルを見つけることができます)。
- patched_boot 9.6.9.0(7月の更新)– Magisk 17.1でパッチを適用
- patched_boot 9.6.10.0(8月の更新)– Magisk 17.1でパッチを適用
- オリジナルのboot.img 9.6.9.0(7月更新)– fastboot ROMから取得
- オリジナルのboot.img 9.6.10.0(8月の更新)– fastboot ROMから取得