droid.rooter
トラブルシューティング上級読了目安9分

カスタムROMのフラッシュ後の起動ループ:通常確認すべき点

ROMが起動しない原因は、多くの場合ROMとその下の層との不整合です。判断フローで、どの層が合っていないかを特定します。

Custom recovery interface part-way through a ROM installation
目次
  1. まず時間をかけて待つ
  2. 判断フロー
  3. ファームウェアベース
  4. クリーンフラッシュとダーティフラッシュ
  5. 暗号化とデータのフォーマット
  6. アドオンパッケージ
  7. リカバリーのバージョン
  8. 非対応ビルドと非公式ビルド
  9. 純正に戻す
  10. よくある質問

ROMが起動しない原因は、通常、ROMとその下にある層のいずれかとの不整合です。ファームウェアベース、vendorパーティション、リカバリー、書き込み先のスロットが該当します。下の判断フローで、どの層が合っていないかを特定できます。何も変えずに同じROMを書き込み直しても、同じ結果になります。

まず時間をかけて待つ

ROMをインストールした後の初回起動は、通常の起動より時間がかかり、かなり長くなることもあります。システムがキャッシュを作り、アプリを最適化しているためで、ストレージの使用量が多い端末ではすぐには終わりません。

結論を出す前に、充電器につないだまま、本当に長い初回起動をじっくり待ってください。アニメーションが動いているか止まっているかを見てください。動いていればシステムが処理中で、止まっていれば停止しています。

再起動して最初からやり直す場合は起動ループなので、次に進めます。動いているアニメーションのままなら、もう少し待ってください。

判断フロー

上から順に、当てはまる枝をたどってください。

端末はリカバリーに入れますか?

  • 入れず、fastbootにも入れない → ROMのトラブルシューティングの範囲外です。ソフトブリックとハードブリックに進み、検出テストを行ってください。
  • 入れないが、fastbootは使える → リカバリーが上書きされたか、互換性がない可能性があります。次に、お使いの端末と現在のファームウェアに合ったリカバリーを書き込み直します。
  • 入れる → 次に進みます。

そのROMは、一度でも正常に起動しましたか?

  • 起動したが、その後ループした → 正常に起動した後に何が変わったかを確認します。モジュール、アドオンパッケージ、設定変更、アップデートなどです。フラッシュの問題ではありません。
  • 一度も起動していない → 次に進みます。

ダーティフラッシュでしたか(消去せず、既存のインストールに上書きした場合)?

  • はい → 別のROMへの上書き、Androidのメジャーバージョンをまたぐ上書き、別のベースへの上書きは、有力な原因です。クリーンフラッシュの項に進んでください。
  • いいえ、クリーンでした → 次に進みます。

ROM自体のドキュメントに、必要なファームウェアやvendorのバージョンが記載されていますか?

  • はい、そして書き込んでいない、または別のバージョンを書き込んだ → 最も可能性の高い原因です。ファームウェアベースの項をご覧ください。
  • はい、そして合わせた → 次に進みます。
  • ドキュメントに記載がない → ファームウェアベースは未確認として扱い、念のため確認してください。

同じ作業の中で、GAppsなどのアドオンパッケージを書き込みましたか?

  • はい → 原因を切り分けるため、アドオンなしでROMだけを試します。アドオンの項をご覧ください。
  • いいえ → 次に進みます。

端末はA/Bデバイスですか?ROMをどちらのスロットに書き込んだか把握していますか?

  • 分からない → 有効なスロットを確認してください。一方のスロットにROMを入れたのに、もう一方で起動していると、分かりにくい結果になります。
  • 正しいと確認済み → 次に進みます。

そのビルドは、本当にお使いの端末のバリアント向けですか?

  • 販売名ではなくコードネームを確認し、そのうえでバリアントを確認してください。多くの人が自信を持っているのに、最も間違えやすい確認です。

ファームウェアベース

最近の端末は、システムイメージだけではありません。メーカー固有のハードウェア向けの構成要素を持つvendorパーティションがあり、多くの場合、ほかにも複数のコンポーネントがあります。カスタムROMは、それらの特定のバージョンに合わせて作られています。

新しいファームウェアベース向けのROMを古いベースに書き込む(またはその逆)と、ハードウェア機能が壊れた状態で起動する場合から、まったく起動しない場合までさまざまです。

対処は次のとおりです。

  1. お使いの端末向けのROM自体のドキュメントを探します。第三者の要約ではなく、メンテナーのページを参照してください。
  2. 必要なファームウェアやvendorのバージョンを読みます。
  3. 端末が実際に持つバージョンと比べます。Androidのバージョンから想像するものとは、必ずしも一致しません。
  4. 違っていれば、メーカー純正のファームウェアで、ファームウェアベースをROMが想定するバージョンに更新すれば直ります。

一度も起動しないROMのインストールでは、この確認で解決するケースが最も多くなっています。ROMが問題なくインストールできたために、最も飛ばされやすい確認でもあります。問題なくインストールできることと、起動することは別です。

クリーンフラッシュとダーティフラッシュ

ダーティフラッシュは、データとアプリを残します。同じROM、同じベース、同じAndroidバージョンの範囲内で更新する場合には機能します。これらのどれかが変わると、信頼できなくなります。

クリーンフラッシュは、古いインストールを削除し、ROMを整合性の取れた初期状態から使い始められるようにします。端末のデータは失われます。

データ消去に関する警告:クリーンフラッシュでは、dataパーティションを消去します。dataをフォーマットすると、さらに暗号化の状態も削除されます。どちらも元に戻せません。ファイルベース暗号化を使う端末では、その後どんなツールでもデータは復旧できません。

率直に言うと、バージョンの境界やROMをまたいでダーティフラッシュして起動しない場合、標準的な解決策はクリーンフラッシュで、データは失われます。データが重要でバックアップがない場合は、そこで止めて、消去する前の選択肢をお読みください。引き返せない地点はループではなく、消去だからです。

暗号化とデータのフォーマット

カスタムリカバリーは、dataパーティションを読むために復号する必要があります。リカバリーの復号の対応が端末の暗号化の実装と合わないと、リカバリーはdataをマウントできず、破損または読み取り不可と表示します。

このメッセージを見て、dataをフォーマットしてしまう人がよくいます。確かにマウントの問題は解決しますが、中身が消えてしまいます。

その前に、根本の原因はデータの破損ではなく、リカバリーのバージョンの不一致かもしれないと考えてください。お使いの端末とファームウェアに正しく対応したリカバリーなら、同じパーティションを問題なくマウントできることがあります。フォーマットは元に戻せず、実行した後に取り消せません。

アドオンパッケージ

Googleアプリなどのアドオンパッケージには、アーキテクチャ別、Androidバージョン別、サイズ別のバリアントがあります。どれかが合わないと、起動できなくなることがあります。

また、作業の正しい時点で書き込む必要があります。通常は、ROMと同じ作業の中で、初回起動の前です。多くのROMでは、初回起動の後に追加しても機能せず、動いているインストールを壊すことがあります。

原因を切り分けるには、ROMだけを書き込みます。起動すれば、ROMとベースは問題なく、異なる条件はアドオンです。それでも起動しなければ、アドオンは原因ではなく、問題の範囲を有効に絞り込めたことになります。

ビルド自体にアドオンを含んでいるROMもあります。そうしたROMの上に別のパッケージを書き込むと、競合が起きます。

リカバリーのバージョン

リカバリーは、お使いの端末、ファームウェアベース、端末が使うパーティション構成に対応している必要があります。ダイナミックパーティションやA/Bスロットを使う最近の構成では、リカバリーが扱うべき内容が変わりました。古いリカバリーでは、成功したように見えてもROMを正しくインストールできないことがあります。

インストール中にエラーが出た場合や、成功と表示されたのに起動しなかった場合は、リカバリーのバージョンを、プロジェクトの端末ページで確認する価値があります。最近の構成が古い手順と異なる点は、TWRPのインストールガイドで解説しています。

非対応ビルドと非公式ビルド

コミュニティROMは、完成度にばらつきがあります。メンテナンスが行き届いた端末の公式ビルドと、メンテナー1人とテスター数人による非公式ポートでは、事情が異なります。

さらに時間をかけてデバッグする前に、次の点を確認してください。

  • お使いの端末向けの公式ビルドですか、それともポートですか?
  • 最後の更新はいつで、メンテナーはまだ活動していますか?
  • まったく同じバリアントの他のユーザーが、このビルドで正常に起動したと報告していますか?
  • お使いのバリアントについて、既知の問題が記載されていますか?

そのビルドがまだお使いのバリアントでは動かず、正しい手順を踏んでも変わらない場合もあります。どのプロジェクトが端末の対応で優れているかは、カスタムROMのまとめで解説しています。

純正に戻す

作業を中止してメーカー純正のソフトウェアに戻したい場合、その方法はあり、通常は動く端末を取り戻す最も確実な方法です。

お使いの正確なモデルと地域に合った純正ファームウェアを、メーカー自身の配布元から入手し、メーカーの手順に従う必要があります。使用するモードについて、メーカーのドキュメントに明記がない限り、ユーザーデータは消えるものと考えてください。

純正に戻しても、アンロックしたブートローダーはそれだけでは元に戻りません。純正以外のソフトウェアが入った状態でブートローダーを再ロックすると、起動せず書き込みもできない端末になることがあります。端末が改変されていない純正ファームウェアで動き、正常に起動するまでは、再ロックしないでください。

よくある質問

初回起動は、どれくらい待てば長すぎますか?想像より長く、判断の目安は経過時間ではなくアニメーションが動いているかどうかです。画面が固まっていれば起動は止まっています。アニメーションが何度も最初から繰り返されるなら、起動ループです。

別のROMを書き込めば直りますか?書き込むことはできますが、根本の原因がファームウェアベースやリカバリーなら、次のROMでも同じ壁に当たります。先に合っていない層を特定してください。そうしないと、診断ではなくROMを手当たり次第に試すことになります。

クリーンフラッシュなら、必ず直りますか?いいえ。解消できるのは、残ったデータによる競合です。誤ったファームウェアベース、互換性のないリカバリー、非対応のバリアント、壊れたビルドは解消できません。元に戻せないため、データを消さない確認を先に尽くす価値があります。

リカバリーに「データが破損している」と表示されます。データは消えましたか?そうとは限りません。パーティションを復号できないリカバリーは、破損したデータを読んだ場合と似た表示を出します。端末に正しく対応したリカバリーなら、問題なく読み取れることがあります。メッセージを消すためにフォーマットしないでください。

作業の後で、ブートローダーを再ロックする必要はありますか?いいえ。カスタムソフトウェアが入った状態で再ロックすると、起動も書き込みもできない端末になることがあります。ロックしたい場合は、まず改変されていない純正に戻し、正常に起動することを確認してください。

リモートで直せますか?端末がリカバリーかfastbootに入れて、パソコンがあれば、一般的には可能です。作業はホスト側から行うためです。セッションの内容はこちらです。


関連記事: データを消さずに起動ループを直す · 起動画面の症状ごとの意味 · Androidがリカバリーで起動し続ける · ソフトブリックとハードブリック · おすすめのカスタムROM

出典: Android Open Source Projectのパーティションおよびダイナミックパーティションに関するドキュメント。

最終確認日:2026年8月23日。ファームウェアベースの要件、リカバリーの互換性、インストール手順は、端末ごと、ROMのビルドごとに異なります。お使いの端末のコードネームに合わせて、メンテナーのドキュメントに従ってください。