Huaweiストックファームウェアの抽出とフラッシュ方法を徹底解説
はじめに
Huawei端末を利用している上級Androidユーザーの中には、OTAアップデートパッケージ全体ではなく、特定のファイルだけを抽出して書き込み(フラッシュ)したいケースがあるでしょう。例えば、端末が誤って文鎮化(ブリック)してしまった際、アップデートパッケージから特定ファイルのみを書き込むことで端末を復旧できる場合があります。
このガイドでは、Huaweiのファームウェアアップデートパッケージから特定ファイルを抽出し、フラッシュする方法を3つ紹介します。
- Windows向け: Huawei Update Extractor
- Linux / Mac向け: SplitUpdateスクリプト(Perl)
- Linux向け(追加機能あり): 代替スクリプト(mount.sh同梱)
必要なもの
- Firmware Update.zip(フルOTAアップデート)
- Huawei Update Extractor(Windows専用)
- SplitUpdate Perlスクリプト(Linux / Mac / Windows対応)
- 代替スクリプト(splitupdateと同じフォルダに展開され、Linux用のmount.shが付属)
現在のファームウェアバージョンを確認する
まず、お使いのHuawei端末の現在のファームウェアバージョンを確認しましょう。「設定」→「システム」→「端末情報(About Phone)」を開き、ビルド番号(Build Number)を控えてください。
例えば次のように表示されます:
BLA-L29 8.0.0.132(C636)
これは BLA-L29C636B132 に変換されます。「8.0.0.」を「C636」に置き換え、「132」の前に「B」を付けるだけです。
NougatとOreoの違いについて
Oreo(Android 8.0)ではパーティション構成が一部変更されました。bootパーティションは「ramdisk」と「kernel」に分割され、recoveryパーティションも「recovery_ramdisk」「recovery_vendor」「recovery_vbmeta」に分割されています(recovery_vbmetaはramdiskとkernelパーティションを共有します)。
そのため、Oreo端末では「ramdisk」と「recovery_ramdisk」を書き込むことになります。MagiskやSuperSUはramdiskへ、TWRPはrecovery_ramdiskへ書き込むのが一般的です。
フルOTAアップデートのダウンロード手順
例として、ファームウェアが BLA-L29C636B132 の場合で説明します。
- Pro-Teammtのファームウェアデータベースにアクセスします。
- 検索ボックスに完全なファームウェア名(BLA-L29C636B132など)を入力し、自分のモデルを検索します。
- 「FullOTA-MF」と表示されている行を見つけ、その行の「Update」ボタンをクリックします。
- フルOTAのupdate.zipのダウンロードが始まります。
ダウンロードしたupdate.zipをアーカイブマネージャー(圧縮解凍ソフト)で開き、中にある「UPDATE.APP」ファイルをPCに展開してください。
方法1:Huawei Update Extractor(Windows専用)
Huawei Update Extractorをダウンロードし、PC上で解凍します。メインフォルダ内の「HuaweiUpdateExtractor.exe」を起動してください。
- 「Settings」タブを開き、「Verify header checksum」のチェックを外します。
- 「Extract」タブに戻り、「…」ボタンをクリックして、先ほど展開したUPDATE.APPファイルを選択します。
- 画面にUPDATE.APP内の全ファイル一覧が表示されます。
- 任意のファイルを右クリックして「Extract Selected」を選択すると、保存先を指定するダイアログが表示されます。
抽出したファイルは、fastbootコマンドを使って書き込みます。例えば、書き込みたいファイルをADBの作業フォルダに配置し、ADBターミナルを起動します。
adb reboot bootloader
このコマンドで端末をfastbootモード(ブートローダー)で再起動した後、以下のようにファイルを書き込みます。ramdiskに書き込む場合は:
fastboot flash ramdisk xxxxx.img
なお、Nougat(Android 7.x)の場合は、UPDATE.APPから「BOOT」を抽出し、次のコマンドで書き込みます:
fastboot flash boot boot.img
方法2:SplitUpdate Perlスクリプト(Linux / Mac)
まずsplitupdate.zipをダウンロードして解凍します。解凍してできた「split」フォルダに入り、ターミナルを起動して以下のコマンドを実行します。
chmod +x splitupdate
chmod +x crc
続いて、Windows向けセクションと同じ手順でフルOTAアップデート(update.zip)を入手し、UPDATE.APPを「split」フォルダ内に展開します。新しいターミナルを開き、以下のコマンドを実行してください。
./splitupdate UPDATE.APP ファイル名
「ファイル名」の部分に実際に存在する(または存在しない)名前を指定すると、UPDATE.APP内のすべてのイメージ一覧が表示されます。
また、「./splitupdate UPDATE.APP」と入力すると、UPDATE.APP内の全ファイルが抽出され、新しく作成される「output」フォルダに出力されます(フィルタリングは完璧ではありません)。
さらに、「./splitupdate UPDATE.APP RAMDISK」のように指定すると、名前にRAMDISKを含むすべてのイメージが抽出されます。この場合、RAMDISK.imgとRECOVERY_RAMDISK.imgが取得できます。
方法3:代替スクリプト(Linux向け・追加機能付き)
代替スクリプトフォルダ内の以下のファイルに対して、ターミナルで実行権限を付与します。
chmod +x simg2img
chmod +x mount.sh
mount.shを使用する場合は、スクリプトを編集して「YOUR_SUDO_PASSWORD_HERE」を実際のsudoパスワードに置き換える必要があります。あるいは、「echo YOUR_SUDO_PASSWORD_HERE | 」の部分を削除し、スクリプト実行時に手動でパスワードを入力することも可能です。
準備ができたら、system.imgなど好きなファイルを抽出し、以下のコマンドを実行します。
./mount.sh SYSTEM
これにより、SYSTEM.imgがSYSTEM.rawに変換され、ループデバイスとして「split_folder/SYSTEM/」にマウントされます。同時にSYSTEM/内の全ファイルにchmod 777が適用されます。
まとめ
Huawei端末の文鎮化からの復旧や、Magisk・TWRPの導入など、特定パーティションへの書き込みが必要な場面では、今回紹介した3つの方法のいずれかが役立つはずです。WindowsユーザーならHuawei Update Extractor、Linux/MacユーザーならSplitUpdateスクリプトが手軽です。操作の際は、自分の端末のモデル名とファームウェアバージョンを必ず確認し、誤ったイメージを書き込まないよう十分注意してください。
-
MacでFlash Playerを安全にアップデートする方法【手順を徹底解説】
お気に入りの動画を見ようとした瞬間、「MacのFlash Playerをアップデートしてください」というエラーメッセージが表示され、困った経験はありませんか?Flash Playerが何なのかよく知らない方にとっては、突然表示されるこのメッセージはまるで謎かけのように感じられるでしょう。 さらに厄介なのは、誤ったWebサイトからFlash Playerを更新しようとすると、マルウェア(悪意のあるソフトウェア)をパソコンにインストールしてしまう危険があるという点です。では、Adobe Flash PlayerをMacに安全にアップデートする正しい方法とは何でしょうか。この記事では、Flash P
-
HP Scanjetドライバーのダウンロードと更新方法をわかりやすく解説
HP Scanjetは、高解像度かつ高速で文書や写真をスキャンできる優れたデバイスです。両面スキャンに対応しており、一度に文書の両面を読み取ることができます。また、OCR機能を使えば紙の文書をPDFファイルに変換でき、600dpiという高解像度でカラー・モノクロ写真のスキャンも可能です。しかし、最新の適切なドライバーがパソコンにインストールされていなければ、これらの便利な機能を十分に活用することはできません。本記事では、Windows 10 PCでHP Scanjetドライバーをダウンロードおよび更新するための3つの方法を詳しく解説します。 HP Scanjetドライバーをダウンロード・更新す