Nexus ファクリーイメージ flash-all.batエラー not contain ‘boot.sig’ ‘recovery.sig’ の対処法。

Nexus ファクリーイメージ flash-all.batエラー not contain 'boot.sig' 'recovery.sig' の対処法。01

Nexus端末のファクリーイメージは、万が一ロム焼きに失敗しても、これを焼けばデフォルトに戻る便利なシロモノです。

sigファイルのエラー

Nexus ファクリーイメージ flash-all.batエラー not contain 'boot.sig' 'recovery.sig' の対処法。02

通常は、ファクリーイメージにある「flash-all.bat(Windows)」「flash-all.sh(Linux)」を実行すれば良いのですが、Android 5.0以降、エラーがでます。

archive does not contain ‘boot.sig’
archive does not contain ‘recovery.sig’
failed to allocate 1814213396 bytes
error: update package missing system.img

これは焦りますよね。ただでさえ、慣れないコマンドプロンプト使っているときですから。拡張子に、.sig があるSIGファイルは署名ファイルで、暗号化されています。特定のアプリケーションでしか開けません。

Android 5.0以前のバージョンや、5.0以降でも前バージョンからファクトリーイメージのスクリプト、flash-all.batを実行すると、このエラーがでます。

flash-all.batの中身

Nexus ファクリーイメージ flash-all.batエラー not contain 'boot.sig' 'recovery.sig' の対処法。03

PATH=%PATH%;”%SYSTEMROOT%\System32″
fastboot flash bootloader bootloader-hammerhead-hhz12f.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot flash radio radio-hammerhead-m8974a-2.0.50.2.25.img
fastboot reboot-bootloader
ping -n 5 127.0.0.1 >nul
fastboot -w update image-hammerhead-lmy47i.zip

echo Press any key to exit…
pause >nul
exit

上記は、Nexus 5 Android 5.1.0 (LMY47I)のflash-all.batです。それでは、flash-all.batは、どのようなプロセスになっているかというと、

  1. bootloader-hammerhead-hhz12f.imgをフラッシュします。
  2. bootloaderをリブートします。
  3. radio-hammerhead-m8974a-2.0.50.2.25.imgをフラッシュします。
  4. bootloaderをリブートします。
  5. image-hammerhead-lmy47i.zip内の展開を始めます。

手作業でフラッシュ!

Nexus ファクリーイメージ flash-all.batエラー not contain 'boot.sig' 'recovery.sig' の対処法。04

.sigファイルが含まれていないとエラーがでた「boot」や「recovery」は、zipファイル内に存在します。ファイルの署名が存在しないのか、何かと一致しないのかもしれません。さて、こうしたときは、zipファイルをばらして、一個ずつ手作業でフラッシュします。フォルダ内でShiftキーを押しながら、「コマンドウィンドウをここで開く」を選択して、下記のコマンドを順に入力します。

adb reboot bootloader
fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash cache cache.img
fastboot flash userdata userdata.img
fastboot reboot

これで、無事、ファクトリーイメージがフラッシュされます。お疲れ様でした。