Huawei Stockファームウェアを抽出およびフラッシュする方法

Huaweiデバイスを所有する高度なAndroidユーザーの場合、OTA更新から特定のファイルのみをフラッシュしたいシナリオがあります。 たとえば、デバイスが誤ってブリック状態になり、( ROM全体ではなく)更新パッケージから特定のファイルをフラッシュするとデバイスの回復に役立つことがわかっている場合。

このAppualsガイドでは、Huaweiファームウェアアップデートパッケージから特定のファイルを抽出してフラッシュする方法を正確に示します。 Windows用のHuawei Update Extractor、Linux / Mac用のSplitUpdateスクリプト、およびLinux用の代替スクリプトといくつかの追加機能を提供します。

必要条件

  • ファームウェアUpdate.zip
  • Huawei Update Extractor(Windowsのみ)
  • SplitUpdate perlスクリプト(ソース)(Linux / Mac / Windows)
  • 代替スクリプト(output /の代わりに 'splitupdate'と同じフォルダーに抽出し、Linux専用のマウントスクリプトを含む)

まず、現在のHuaweiファームウェアバージョンを確認する必要があります。 [設定]> [システム]> [電話について]で確認し、ビルド番号をコピーします。

たとえば、BLA-L29 8.0.0.132(C636)のようなものが表示されます。

これは、BLA-L29C636B132に変換されます。 「8.0.0。」をC636に置き換え、132の前にBを追加するためです。

ヌガーとオレオの簡単なメモ

パーティションはOreoで少し変更されました。 ブートパーティションは「ramdisk」と「kernel」に分割されました。 リカバリパーティションは、recovery_ramdisk、recovery_vendor、recovery_vbmetaに分割されました。これらも、カーネルパーティションをramdiskと共有します。

そのため、おそらく、ramdiskとrecovery_ramdiskをフラッシュする必要があります。ramdiskはMagisk / SuperSUがフラッシュされ、recovery_ramdiskはTWRPがフラッシュされる場所です。

たとえば、ファームウェアBLA-L29C636B132があるとします。

Pro-Teammtファームウェアデータベースに移動し、完全なファームウェアをファインダーに入力して、モデルを検索します。

次に、「FullOTA-MF」を示す行を見つけ、その行の「更新」ボタンをクリックします。

Huawei OTAからupdate.appを抽出します。

その後、完全なOTA update.zipがダウンロードされます。 これをアーカイブマネージャーで開き、コンピューターで「Update.app」ファイルを抽出する必要があります。

Huawei Update Extractorメソッド( Windowsのみ)

Huawei Update Extractorをダウンロードし、コンピューターに解凍します。 メインフォルダー内でHuaweiUpdateExtractor.exeプログラムを起動します。

丸で囲まれたボックスのチェックを外します。

[設定]タブに移動し、[ヘッダーチェックサムの確認]のオプションをオフにします。

[抽出]タブに戻り、[...]ボタンをクリックして、以前に抽出したupdate.appファイルを選択します。

画面には、update.appファイル内のすべてのファイルが表示されます。 これで、これらのファイルのいずれかを右クリックして、「選択したものを抽出」を選択できます。これにより、抽出したファイルの送信先を選択するための別のダイアログが表示されます。

その後、fastbootを使用して、抽出されたファイルを、たとえばramdiskにフラッシュできます。

たとえば、フラッシュするファイルをメインのADBパスウェイに配置し、ADBターミナルを起動します。

次に、「adb reboot bootloader」を使用してデバイスをfastbootモードにします

この後、fastbootを使用してファイルをフラッシュできます。 したがって、何かをRAMディスクにフラッシュする場合は、ADBコマンドを使用します。fastbootflash ramdisk xxxxx.img

ただし、Nougatでは、update.appファイルから「BOOT」を抽出し、次を使用してフラッシュします。fastboot flash boot boot.img

Perlスクリプトメソッド( LinuxおよびMac)

最初にsplitupdate.zipをダウンロードして解凍します。

次に、抽出された「分割」フォルダーを入力し、ターミナルを起動します。 端末で次のコマンドを入力します。

 chmod + x splitupdate chmod + x crc 

次に、完全なOTA更新.zipを取得するためのこのガイドのWindowsセクションの指示に従って、update.appを「Split」フォルダーに抽出し、別のターミナルを開きます。 次のコマンドを入力してください。

 ./splitupdate UPDATE.APP file_to_extract 

「file_to_extract」またはUPDATE.APPに含まれているまたは含まれていないものを書き込むと、その中のすべての画像がリストされます。

./splitupdate UPDATE.APPは、update.app内のすべてのファイルを抽出します。新しく作成された「出力」フォルダーにファイルを出力します。 フィルタリングは完全ではありません。

「./splitupdate UPDATE.APP RAMDISK」を使用すると、名前にRAMDISKが含まれるすべてのイメージが抽出されるため、RAMDISK.imgおよびRECOVERY_RAMDISK.imgが取得されます。

代替スクリプト方式

ターミナルを使用して、代替スクリプトフォルダー内の次のファイルをchmodします。

 chmod + x simg2img chmod + x mount.sh 

mount.shを使用する場合は、スクリプトを編集し、YOUR_SUDO_PASSWORD_HEREを実際のパスワードに置き換える必要があります。 または、「echo YOU​​R_SUDO_PASSWORD_HERE | 'そして、スクリプトの使用中にパスワードを手動で入力します。

次に、system.imgまたは任意の他のファイルを抽出し、 ''。/ mount.sh SYSTEM 'を使用します。

これにより、SYSTEM.imgがSYSTEM.rawに変換され、ループデバイスとして「split_folder / SYSTEM /」にマウントされます。また、SYSTEM /のすべてをchmod 777します。

興味深い記事