conf t

インフラエンジニアのメモ

Nexus7がgoogleロゴの画面のままで起動しない(文鎮化)状態からの復旧・修理

f:id:monaski:20150613143903j:plain:w300

ある日突然、私のNexus7が起動しなくなりました。

ある日、いつものように電源を立ち上げたら、固まってフリーズしてしまった!
全く操作をうけつけなくなってしまったので、「電源ボタン」 + 「音量ボタン上」「音量ボタン下」 の3つを同時長押しで強制停止。
(あとで知りましたが、普通に電源ボタンをかなり長く押しているだけでも強制電源OFFできる)
その後、電源ボタンで再度Nexus7を起動するも、googleロゴのままで止まって動きません。。

2017/10/19更新

なんとかして直したい!

何度電源off⇒電源onを繰り返しても、毎回起動時のgoogleロゴで止まってしまいます。
これは参った!と、google先生助けを求めると、これがいわゆる文鎮化という現象らしい。 文鎮化とは、スマホなどが起動しなくなり使い物にならなくなる現象です。
せいぜい文鎮として使うしかないので文鎮化と呼ぶようになったんでしょうか?
(聞いたことはあったけど、root化もしない自分には関係ないと思ってよく知らなかった)

このNexus7は画面の大きさが丁度よく毎朝電車の中で愛用していましたし、なんとしても直したい!
ということで、今回はこの文鎮化した状態からの復旧方法を調べましたのでご紹介いたします。

Nexus7をRecoveryModeで復旧する方法

必要なもの
・Nexus7本体のみ

端末起動時にfastbootモードで起動させて初期化できると聞いたので、試してみた。
データもすべて消えてしまうが、このまま文鎮として使うわけにはいかないのであきらめるしかない・・・。
(バックアップをちゃんと考えとけばと後悔)
電源offの状態で、電源ボタンと音量ボタン下を長押しする。
すると、以下画像のようなドロイド君の画面になる。
これがfastboot modeだ。
f:id:monaski:20150516233920j:plain:w300

電源ボタンの上下でメニューを選べる。
PowerOff、RestartBootloader、RecoveryMode等がある。
RecoveryModeを選択し、電源ボタンで決定する。
するとリカバリーが始まるはずだが、私の環境だとやはりgoogleロゴが表示され、 そこで止まってしまう・・・。

何回Recovery Modeを選択しても、googleロゴで止まる。困った。
端末単体でのリカバリーは困難っぽい。

そこで、PCに接続して操作することで復旧できないか調べた。

Nexus7をgoogleのファクトリーイメージから復旧する方法

必要なもの
・Nexus7本体
・充電ケーブル(Nexus7とPCを接続する)
・PC
・AndroidSDK(ドライバーが入っている)
・Nexus7のファクトリーイメージ

参考サイト: リカバリモードすら起動しなくなったNexus 5を復旧した【ブートループ・プレ文鎮】 | TeraDas-テラダス

googleサイトのファクトリーイメージをダウンロードしてきて、それを焼けばいけるっぽい。
まずは以下googleサイトからイメージをダウンロード

Factory Images for Nexus and Pixel Devices  |  Google APIs for Android  |  Google Developers

細かいバージョンは覚えてないけどロリポップにしていたので、
Nexus7 mobileの5.02をダウンロード。

f:id:monaski:20150516235402p:plain:w300

以下がダウンロードしたファイルを解凍したもの。
Windowsの場合は、flash-all.batを使用する。

f:id:monaski:20150516235645p:plain:w300

まずflash-all.batをテキストエディタで開いて、-wオプションがあったら、削除する。
-w はユーザデータを削除するオプション。データを消したくなかったので、このオプションを消す。
これでコマンドの準備は完了。

↑後で実行する、fastboot oem unlockコマンドを実行する際に、データが消去されてしまうため、
おそらく意味がないです。

次に、Nexus7をfastbootモードの状態で、PCにつなげる。

Nexus7のドライバはAndroidSDKをインストールして入手して下さい。
(私はAndroidSDKインストール済みだったので省略します。)
PCと接続する際は、USB2.0のポートにつなげる。(海外のフォーラムでUSB3.0だとうまくいかないとの報告が確かあった)

私の場合、ここでPCがNexus7を認識しなかった。

f:id:monaski:20150517000958p:plain:w300

Unityで実機ビルドしてた時に、ドライバをインストールしたと思うのにおかしいなと思ったんですが、
どうやら、ADBでつなげるときのドライバ、fastbootの時に必要なドライバは違うらしい。
ドライバ自体は以前ダウンロードした、AndroidSDKのusb_driverディレクトリに入っていました。
f:id:monaski:20150517013754p:plain:w300

ドライバの証明書に署名がないため、Windows8の場合は起動をカスタマイズしないとインストールできないので注意。
以下を参照して、署名なしドライバをインストールできる状態でWindowsを起動してください。
monaski.hatenablog.com

ドライバのインストールが完了し、Nexus7がPCに認識されたら、
コマンドプロンプトで以下を実行

fastboot devices

Nexus7が認識されていれば、表示される。
表示されない場合はもう一度ドライバがインストール出来ているか確認する。

バイスが認識されていることを確認したら、
まずbootloaderをアンロックする。

※fastboot oem unlockをしないで、flash-all.batを実行しているサイトもありました。
でもgoogleのサイト(ファクトリーイメージダウンロードしたページ)では最初にfastboot oem unlockを実施する手順になってます。

コマンドプロンプトで以下コマンドを実行する。

fastboot oem unlock

すると、以下画面のようにNexus7のディスプレイに表示される。
f:id:monaski:20150517004539j:plain

ボリュームキーの上下で、カーソルを動かし、電源ボタンで決定する。
内容は、bootloaderをアンロックすると、データが消えるがそれでもやるかという旨の警告です。
bootloaderを使うと端末内のデータを自由にいじれてしまうため、
セキュリティ的な観点からデータを削除するandroidの仕様になっているらしいです。

データが消えるのは仕方がないのであきらめて、Yesを選んでボリュームボタンを押します。
すると、コマンドプロンプトでerasing userdataとの表示が。

C:\Users\takag_000>fastboot oem unlock
...
(bootloader) Unlocking bootloader...
(bootloader) erasing userdata...

しかしここで問題発生。
erasing userdataのまま、ずっと動かない。
30分くらい放置しても変化なし。

おかしいと思ってググったら、googleのフォーラムにありました。

https://productforums.google.com/forum/#!topic/nexus/Ykfqr5RnlW0%5B1-25%5D
しかしながら内容を見ると、解決策は発見されていない模様。まじかですか・・・。
他の情報も探しましたが、(fastboot oem unlock stuckで検索すると結構あります。)手がかりなし。

他のfastbootコマンドも試しましたが、有効なのはfastboot devicesぐらいで
他のコマンドもスタックしてしまう状態です。

ステップを飛ばしてflash-all.batを実行してみましたが、案の定失敗。

手詰まりになってしまったので、別の方法を考えることに。

Nexus7をツールで復旧する方法

Android Tool Kitなるツールで、文鎮化を回復させるメニューがあるらしい。
やってみましたが、以下の通りで失敗・・・。

sending 'radio' (76038 KB)...
FAILED (remote: Bootloader is locked.)
finished. total time: 0.008s
rebooting into bootloader...
OKAY [  0.008s]
finished. total time: 0.012s

archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
archive does not contain 'vendor.img'
--------------------------------------------
Bootloader Version...: FLO-04.04
Baseband Version.....: DEB-Z00_2.43.0_1001
Serial Number........: 07c25991
--------------------------------------------
checking product...
OKAY [  0.004s]
checking version-bootloader...
FAILED

Device version-bootloader is 'FLO-04.04'.
Update requires 'FLO-04.05'.

finished. total time: 0.028s



Booting up your freshly flashed stock device...
 ------------------------------------------------------------------

Wait for your device to finish booting up...

        - It may appear to be boot looping; just wait...

        - It could take 5-10 minutes; please be patient...

When its finally booted back up, please remember
to re-enable USB debugging if you plan on using
the toolkit to perform other operations.

NOTE: If this process was too quick and your device
is still in bootloader mode, then flashing stock may
have failed or been incomplete.

Simply check the log above:
If you notice it skipped steps because it didn't meet certain
requirements, like the bootloader or baseband version, or you
encountered the 'missing system.img' error then enable
'Force Flash Mode' and repeat the 'Flash Stock + Unroot'
processs again.  Cheers.



Press any key to exit...

FLO-04.04なのでFLO-04.05にアップデートしろと言われているようです。
bootloaderのアンロックさえ出来ればいいように見えます。

このtool kitでもブートローダーのアンロックをすることができるので、
試しましたが、失敗。

fastboot oem unlockコマンド試したときもフリーズして失敗しましたし、
bootloaderのアンロックがコマンドでもツールでも出来ないという事態に。。。
(まあもっとも、ツールも結局内部で同じコマンドたたいてるだけのように見えますが)

と、いうことで、復旧できずに終わりました。
ここまでやるのに3日ぐらい使っているので、これ以上やるのは時間の無駄だと判断し不本意ですがあきらめました。
もしASUSサポートに修理に出す場合はネットの情報を見ると最低1万~1万5千かかるかなという感じ。
しかも戻ってくるまでに2週間くらいかかるらしい。

残念ですけど寿命だと思って素直に新しいAndroid端末を買うことにしました。 (これを書いている今もう買ってます)

6/13追記

再チャレンジしました。

monaski.hatenablog.com

2017/10/19追記

コメント欄にて、叩いたら治ったというご報告を多数いただいております。
私のNexus7の場合は叩いてもダメでしたが、コメント欄を参考に試してみる価値はあると思います。