スポンサーリンク

このドキュメントの内容は、以下の通りです。

はじめに

ASUS の という Android のスマートフォンがシステム的に壊れてしまい、修理するまでの話です。

Dm-Verityで起動しなくなるまで

スマートフォンのアップデートがきていたので、アップデートするを選んで、スマートフォンをほっておいたら、画面が暗くなっていたので、起動してみると以下の画面が表示されました。

Dm-Verity in EIO mode

Your device is corrupt. It can't be trusted and will not boot
Visit this link on another device:
g.co/ABH

Your device will shutdown in 10 seconds


これは何かというと、システムが改ざんされていないこと検出するための仕組みです。システムのアップデートに失敗して、システムの状態がおかしくなってしまい、改ざん検知に引っかかってしまったものと考えられます。

この検知自体を止めることもできるようですが、今回は、それができませんでした。また、これを止めたからとしって、起動ができるかどうかは、システムや端末の状態に依存するため、やってみないと解りません。

Android のマザーボードが壊れたか、flashメモリが壊れて、もうダメなんだと思ったけど、実はそうじゃなかった、という落ちでした。あきらめたら、そこで試合は終了だよ、でした。 

リカバリのメニュー

Dm-Verity の画面で、ボリュームボタンの+を押すと、Android Recovery というリカバリ画面にいけます。そのメニューで選べるのがなんだったか忘れてしまったけど、おそらく以下の通りだったのではないかと思います。
  • Reboot system now
  • Recovery mode ?
  • fastboot mode
  • Wipe data/factory reset
  • Wipe cache partition
  • Apply update from microSD card
最後の最後で factory reset (ファクトリリセット)をやったのですが、はじめの段階ではやりませんでした。

リカバリモードの起動方法

# ボリュームボタンのマイナスを押し、電源ボタンを押す
# スマートフォンがブルっと振動したら、電源ボタンを離す
# これでリカバリモードが起動する

fastbootモードの起動方法

# ボリュームボタンのプラスを押し、電源ボタンを押す
# スマートフォンがブルっと振動したら、電源ボタンを離す
# これでfastbootモードが起動する

パソコンからfastbootモードのスマホに接続する方法

パソコンからfastbootモードのスマートフォンに接続して、スマートフォンを多少操作することができます。
例えば、以下の操作ができます。
  • パーティションにイメージを書き込む
  • パーティションの中身を消す
接続するためには、
  • Google USB Driver
  • fastboot コマンド といったものが必要です。
たまたま、以下の組み合わせの環境だったので、何もしないでも、つながってました。
  • Android Studio がインストールしてあった(Google USB Driverも入ってた)
  • PentestBox がインストールしてあった(fastbootコマンドが入っていた)
PentestBox はセキュリティツールがまとめてあるソフトウェアです。

Windows の WSL (Windows Subsystem for Linux) の Ubuntu に fastboot コマンドを入れてみたのですが、WSL の Ubuntu からは、USB接続のスマートフォンが認識できず、使えませんでした。

fastbootコマンドの使い方

fastboot コマンドで、デバイスを表示するのは以下の通りです。
fastboot devices

fastboot コマンドでパーティションにイメージを書き込むコマンドは以下の通りです。
boot.img というファイルを boot 領域に書き込む場合は以下の通りです。
fastboot flash boot boot.img

recovery.img というファイルを recovery 領域に書き込む場合は以下の通りです。
fastrecovery flash recovery recovery.img

途中でやったこと

以下は効果が得られなかったシリーズです。
  • ASUS のサイトからファームウェアをダウンロードしてきて、 boot.img を fastboot コマンドで zenfone 3 に焼いてみたが、効果がなかった。
  • ASUS のサイトからファームウェアをダウンロードしてきて、MicroSD に書き込み、zenfone3 に MicroSD をセットして、 Apply update from microSD card を選択してみたが、何もおきなかった。
  • ブートメニューでリカバリを選択してみたが、何もおきなかった(ファクトリリセットはしてない)。
  • Wipe cache partition をしてみたが効果がなかった。

解決策

拾ってくるイメージの保証は出来かねますので、自己責任で実行してください。スマートフォンが文鎮になっても、自己責任ですよ。ファクトリリセットでデータも消します。データは消えますのであきらめてください。

ファイルの事前準備は以下の通りです。
  • イメージの配布 の「上記LINKは切れているのでこちらから」のリンクからブートイメージとリカバリイメージ(Z017D_WW_13.20.10.152)をダウンロードする。ダウンロードしたら、適当なディレクトリに解凍します。
  • ASUS のサイトからUL-ASUS_Z017D_1-WW-13.20.10.152-user.zip をダウンロードする。ここのバージョンがあってないと失敗する
  • ASUS のサイトからダウンロードした UL-ASUS_Z017D_1-WW-13.20.10.152-user.zip を MicroSD のルート直下にコピーして、スマートフォンに MicroSD をセットする
  • リカバリモードでスマートフォンをファクトリリセットをする(データが消えます)
  • Wipe cache partition で cache パーティションを綺麗にする
パーティションを書き直します。
  • fastbootモードでスマートフォンを起動する
  • パソコンで fastboot devices を実行して、スマートフォンが認識できていることを確認する
  • fastboot flash boot boot.img でイメージを書き込む
  • fastrecovery flash recovery recovery.img でイメージを書き込む
これで、下準備は完了です。
  • スマートフォンをリカバリモードで起動する(ボリュームのマイナスを押しながら、電源ボタンを押す)
  • Apply update from microSD card を選択する
  • 20-30分すると初期化された状態で OS が起動してくる
  • あとは、普通にセットアップするだけ

失敗のメモ

  • Apply update from microSD card をやる前に cache partition を Wipe しなかったら、失敗した。
  • ファクトリリセットをしないで、 Apply update from microSD card をやってみたら、Android のセットアップが起動するようになったけど、途中まで行ったけど、途中でリブートしてしまい、何度やってもダメだった。
  • ADB モードで、パーティションをバックアップできるかと思ったけど、できなかった。
  • Dm-Verity を無効化できなかった
  • 前のAndroid からセットアップ中にデータをコピーしようとしたが(付近の端末の設定)、「エラーが発生しました」で一瞬で失敗する。
  • リカバリイメージを自分で作ろうとしたが、 applypatch コマンドを探すのが面倒過ぎた。
  • ubuntu では makepatch というパッケージに applypatch コマンドが含まれるが、Android のリカバリイメージを作る applypatch コマンドのオプションと異なるんどえ、 makepatch の applypatch だとリカバリイメージが作ることができなさそう。
  • ATOK for asus がない。ASUS で ATOK for asus を配っているわけでもなく、今回の復元方法では ATOK がなくなってしまった。復元方法や再インストールする方法がないので、あきらめることにした。

スマートフォンの修理

ネットで調べただけなので、実際にどのぐらいかかるかはわからないけど、参考までに価格を書いておく。
  • ASUS でマザーボード交換になると1万円から2万円ぐらいかかるらしい
  • 郵送と調査だけでも8000円ぐらいかかるらしい
  • zenfone3 の本体価格は新品で、2.5万円ぐらいなので、2万円も修理にかかるぐらいなら、新しいのを素直に買ったほうが良いのではないかと思える。

まとめ

  • MicroSD が必要です。
  • Dm-Verity がでたら boot と recovery を書き直す
  • ファクトリリセットする
  • cache partition は wipe する
  • バックアップがなかったので何もできなかったが、バックアップは大事。

スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

はてなの人気のブックマーク

スポンサーリンク
 

過去ログ

2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー