AndroidがDm-Verityで起動しなくなってからリカバリするまで
スポンサーリンク
このドキュメントの内容は、以下の通りです。
- はじめに
- Dm-Verityで起動しなくなるまで
- リカバリのメニュー
- リカバリモードの起動方法
- fastbootモードの起動方法
- パソコンからfastbootモードのスマホに接続する方法
- fastbootコマンドの使い方
- 途中でやったこと
- 解決策
- 失敗のメモ
- スマートフォンの修理
- まとめ
はじめに
ASUS の Zenfone 3 という Android のスマートフォンがシステム的に壊れてしまい、修理するまでの話です。スマートフォンは、必ずではありませんが、何故か故障することがあります。なぜか、OSが起動しなくなります。故障する端末もあれば、故障しない端末もあって、まさに、「運」だと思っています。
ASUS の Zenfone を3台ほど利用しましたが、そのうち、初期不良が1台、壊れて動かなくなったのが1台、買ってから処分するまで正常に使えたのが1台でした。
故障した端末は、修理する作業がうまくいって、OSも動いて、アプリも動いて、一応なおった感じで、しばらく使えるケースもあるし、故障した端末の修理の作業している途中で、本当に動かなくなってしまうこともあります。
もし、回復できた場合には、運が良ければ、なおって、ラッキーぐらいに思ってください。ただ、なおって、ラッキーで終わるのではなく、早めに新しい端末に買い換えることも考えたほうがよいかもしれません。私の体験では、何度かOSが起動しなくなって、数回なおした後に、本当にOSが起動しなくなったこともありました。本当に起動しなくなった場合は、買い替えしか手がなかったので、その時は買い換えました。ただ、買い換えるまでには、端末の情報収集や選定などに時間がかかるケースもあり、必要なときにスマートフォンが使えないよ、といったことになりかねません。余裕をもって買い換えることをお勧めいたします。
Dm-Verityで起動しなくなるまで
スマートフォンのOSのアップデートがきていたので、OSのアップデートするを選んで、スマートフォンをほっておいたら、スマートフォンの画面が暗くなっていたので、スマートフォンを起動してみると以下の画面が表示されました。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
これは何かというと、システムが改ざんされていないこと検出するための仕組みです。システムのアップデートに失敗して、システムの状態がおかしくなってしまい、改ざん検知に引っかかってしまったものと考えられます。
この検知自体を止めることもできるようですが、今回は、それができませんでした。また、これ(改ざん検知)を止めたとしても、OSが起動できるかどうかは、システムや端末の状態に依存するため、試してみないと解りません。
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
リカバリモードの起動方法
1. ボリュームボタンのマイナスを押し、電源ボタンを押す2. スマートフォンがブルっと振動したら、電源ボタンを離す
3. これでリカバリモードが起動する
fastbootモードの起動方法
1. ボリュームボタンのプラスを押し、電源ボタンを押す2. スマートフォンがブルっと振動したら、電源ボタンを離す
3. これでfastbootモードが起動する
パソコンからfastbootモードのスマホに接続する方法
パソコンからfastbootモードのスマートフォンに接続して、スマートフォンを多少操作することができます。例えば、以下の操作ができます。
- パーティションにイメージを書き込む
- パーティションの中身を消す
- Google USB Driver
- fastboot コマンド といったものが必要です。
- パソコンのOSはWindowsでした
- Android Studio がインストールしてあった(Google USB Driverも入ってた)
- PentestBox がインストールしてあった(fastbootコマンドが入っていた)
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 が必要です。
- MicroSDにデータを書き込むためのパソコンが必要です。
- データをダウンロードするためのインターネット回線が必要です。
- パソコンに MicroSD カードリーダー がない場合は、別途 USB 接続の機器を用意する必要があります。
- Dm-Verity がでたら boot と recovery を書き直す
- ファクトリリセットする
- cache partition は wipe する
- バックアップがなかったので何もできなかったが、バックアップは大事。
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
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