Nexus 9 OTA を当てたら No Command エラーで起動しなくなったので直した話

Posted 8 months ago by yoosee.
  nexus9 android

Nexus 9 に月例セキュリティアップデートのOTA通知が来たのでいつものようにインストールしたら、しばらくして再起動中に画面に No Command というエラーが表示され起動しなくなってしまった。再起動してみるものの、途中で Your device is corrupt. It can't be trusted and may not work properly. Visit this link on another device: g.co/ABH というメッセージが出て最終的には同じエラー。うーん OTA Patch がシステムを壊してしまうとかどうよ。

Nexus 9 got "No Command" error after OTA

仕方がないのでググると過去のOTAでも同様の問題が発生しているらしい。個体差で起こるのか、アップデート中に何か問題が起きたのか。さておき、このままでは Brick でしかないので修復を試みる。まあよほどでない限りは外から直せるものなのでさほど慌ててはいない、が面倒なのは事実。他に同様の問題に遭遇した人の参考になるように備忘録を付けておく。

復旧手順

HBOOT からの Factory Reset を試す

Nexus 9 の場合は Volume Down を押しながら Power Key で起動することで HBOOT モードに入ることができる。ここからは Fastboot や Recovery 等が実行できるのだが、取り敢えずは Factory Reset を試してみる。

Nexus 9 Factory Reset from HBOOT

10分ほど Eracing アイコンがクルクル回った後に再起動してみるも、やはり駄目。

当然ながら Factory Reset をすると内部ストレージ上を含めてデータは完全に消えるので、消えて困るデータが有る人は下記の Rescue OTA を先に試したほうが良いかもしれない。運が良ければデータが消えずに残る。もちろん基本は転ばぬ先のバックアップであって、私は Factory Reset しても特に困らないので先に試した。

ADB sideload からの Rescue OTA の適用

ということで仕方がなくマニュアル作業での Rescue OTA 適用を試すことに。

Nexus 9 No Longer Working After Latest Update - Google Product Forums

基本的には上記リンク先の作業そのままだが、多少手順の省略などはしている。

  1. 上記リンク先から adb-setup-1.4.3.exe をダウンロードして実行し、adb と device driver をインストール (必要に応じて)
  2. Nexus 9 の電源を長押しなどで一旦OFFにし、Volume Down + Power で HBOOT Mode で起動。なお基本的に Vol キー上下でカーソルを動かし、Power キーで実行する。
  3. HBOOT 画面から RECOVERY を選択。しばらくすると No Command 画面が表示される。
  4. その画面で Power を押しながら Volume Up をタップすると、Android Recovery に遷移する。下写真参考。
  5. 画面上部に現在のファームウェアバージョンが 6.0.1 / MOB30M / 2862625 のような感じに表示されるのでメモ。
  6. メニューから Wipe cache partition を選択して実行。数分から10分程度かかるので待つ。
  7. その間に Nexus 9 Rescue OTA から当該ファームウェアのバージョンを選択してダウンロード。LTE 版と WiFi 版があるので間違えないように。
  8. cache partition の Wipe が終わったら、今度はメニューから Apply Update from ADB を選択。
  9. Nexus 9 を USBケーブルでPCに接続。Android Composite ADB Interface が認識されるはず。
  10. コマンドプロンプトで adb devices と実行して、Nexus 9 のシリアル番号が表示されることを確認。
  11. ダウンロードした Rescue OTA の zip ファイルをそのまま c:\Temp などを作ってそこに置く。
  12. adb sideload c:\Temp\volantis-ota-mob30m-738daf66.zip のように実行。ファイル名はダウンロードしたファイル名を指定すること。
  13. うまく実行されればコマンドプロンプトとNexus 9の両方に進捗が出るはず。10 - 20 分くらいかかる。
  14. 終了したら Reboot system now を選んで起動する。

Nexus 9 Recovery Menu

Nexus 9 sideload image by ADB

私の場合はこの再起動後も corrupted メッセージが出るものの、Power ボタンで先に進むと一応問題なく起動してきた。起動後に当然な顔をして System Upload の通知が来ていて、適用しないわけにも行かないが取り敢えず後回しに…。

なお今回は adb sideload で patch を上書きする形をとったが、よく考えたら先に Factory Reset しているので完全にイメージ上書きでも構わないのであった。手間は殆ど変わらないのでどちらでも構わない話ではあるが、Factory Image の書き込みについては公式ドキュメントを参考のこと。

Factory Images for Nexus Devices  |  Nexus Files for Developers  |  Google Developers

しかしこれ、私はADBとか使うのは慣れているので困りはしなかったけど、普通の人がこの状態になったら結構厄介な気はする。14MB の Security Update OTA くらいまともに配布してほしいものだけど、デバイスが多いとまあこういうことも起こるのだろう。