刷入第三方 ROM 后开机循环:通常要检查什么
ROM 无法启动,通常是 ROM 与其底层某个组件不匹配。用决策树找出是哪一层对不上。

ROM 无法启动,通常是 ROM 与其底层某一层不匹配:固件底包、vendor 分区、Recovery,或它被刷入的槽位。下面的决策树可以帮你找出是哪一层对不上。不改任何东西就重刷同一个 ROM,只会得到同样的结果。
先给它一点时间
安装 ROM 后的首次开机比正常开机慢,有时慢很多。系统要生成缓存并优化应用,存储空间占用多的设备尤其慢。
下结论之前,接上充电器,让它真正跑完一次足够长的首次启动。观察动画是在转动还是卡住了:动画在转,说明系统仍在工作,卡住则说明已经停了。
如果它重启后又从头开始,那就是循环,可以继续往下排查。如果一直停在一个仍在播放的动画上,就再多等一会儿。
决策树
从最上面开始,沿着符合你情况的分支往下走。
设备能进入 Recovery 吗?
- 不能,Fastboot 也进不去 → 这已经超出 ROM 排查的范围。请看 软砖与硬砖,并运行检测测试。
- 不能,但 Fastboot 可用 → Recovery 可能被覆盖了,或者不兼容。下一步是为你的设备和当前固件重刷正确的 Recovery。
- 能 → 继续。
这个 ROM 成功启动过吗,哪怕只有一次?
- 启动成功过,后来才循环 → 看看成功启动之后改了什么:模块、附加包、设置更改或系统更新。这不是刷机问题。
- 从未启动成功 → 继续。
这是覆盖刷机吗,也就是没有清除数据就直接刷在原有系统上?
- 是 → 跨 ROM、跨 Android 大版本,或刷到不同底包上的覆盖刷机,是首要怀疑对象。请看下面的清刷一节。
- 不是,是清刷 → 继续。
ROM 自己的文档是否指明了所需的固件或 vendor 版本?
- 是,但你没有刷,或刷了不同的版本 → 这最有可能就是原因。请看固件底包一节。
- 是,而且你已按要求匹配 → 继续。
- 文档没有说明 → 把固件底包视为未验证,仍然检查一遍。
你是否在同一次操作中刷入了 GApps 等附加包?
- 是 → 只刷 ROM、不装附加包,以便隔离问题。请看附加包一节。
- 否 → 继续。
你的设备是 A/B 设备吗,你清楚 ROM 刷到了哪个槽位吗?
- 不确定 → 检查当前活动槽位。ROM 装在一个槽位而设备从另一个槽位启动,会出现让人困惑的结果。
- 已确认无误 → 继续。
这个版本真的是给你这个设备版本的吗?
- 看代号,不要看商品名,再核对具体版本。这是大家最有把握、却也最常出错的一项检查。
固件底包
现代设备不只是一个系统镜像。还有 vendor 分区,往往还有其他几个组件,承载着厂商针对硬件的部分。第三方 ROM 是针对这些组件的某个特定版本构建的。
把为较新固件底包构建的 ROM 刷到较旧的底包上,或者反过来,结果轻则能开机但部分硬件功能异常,重则根本无法开机。
怎么做:
- 找到 ROM 为你的设备提供的文档。查维护者自己的页面,不要用第三方的转述。
- 看它要求什么固件或 vendor 版本。
- 与你设备实际的版本对比,这个版本不一定和你从 Android 版本推测的一致。
- 如果不一致,用厂商自己的固件把底包更新到 ROM 要求的版本,就能解决。
在从未成功启动的 ROM 安装案例中,这项检查解决的比例最大,也最常被跳过,因为 ROM 装的时候没有任何报错。但“装上没报错”和“能启动”是两回事。
清刷与覆盖刷机
覆盖刷机会保留你的数据和应用。在同一个 ROM、同一个底包、同一个 Android 版本内更新时可行,只要其中任何一项变了,就不可靠了。
清刷会移除旧系统,让 ROM 有一个干净一致的起点,代价是设备上的数据。
破坏性操作警告:清刷意味着清空 data 分区。格式化 data 还会清除加密状态。两者都不可逆,在使用文件级加密(FBE)的设备上,之后任何工具都无法恢复数据。
坦白说:如果你是跨版本或跨 ROM 覆盖刷机后无法启动,清刷是标准解法,代价是你的数据。如果数据很重要又没备份,请先停下来阅读 清除数据之前你有哪些选择,因为清除数据才是不可回头的一步,开机循环不是。
加密与格式化 data
自定义 Recovery 必须解密 data 分区才能读取。当 Recovery 的解密支持与设备的加密实现不匹配时,它无法挂载 data,并提示分区已损坏或无法读取。
这个提示常常让人去格式化 data,这确实能解决挂载问题,代价是毁掉原有的数据。
动手之前先想一想,根本原因可能是 Recovery 版本不匹配,而不是数据损坏。能正确支持你的设备和固件的 Recovery 版本,可能会毫无问题地挂载同一个分区。格式化不可逆,一旦执行就无法撤销。
附加包
Google 应用等附加包有不同的架构版本、Android 版本和体积版本。其中任何一项不匹配,都可能导致无法启动。
它们还必须在流程中的正确时点刷入,通常是与 ROM 在同一次操作中、首次开机之前。在许多 ROM 上,首次开机之后再添加是行不通的,还可能破坏本来可用的系统。
单独刷 ROM 来隔离问题。如果能启动,说明 ROM 和底包没问题,变量就是附加包。如果仍然无法启动,说明问题从来不在附加包,你也因此缩小了排查范围。
有些 ROM 已在构建中内置了附加包。在这类 ROM 上再叠刷单独的包,会产生冲突。
Recovery 版本
Recovery 必须支持你的设备、你的固件底包,以及设备使用的分区布局。动态分区和 A/B 槽位等新布局改变了 Recovery 需要处理的内容,旧版 Recovery 可能显示安装成功,实际却没有正确装好 ROM。
如果安装时报错,或者提示成功但设备始终无法启动,就值得对照项目自己的设备页面检查 Recovery 版本。我们的 TWRP 安装指南 说明了新布局与旧教程不同的地方。
不受支持与非官方版本
社区 ROM 的成熟度参差不齐。维护良好的设备的官方版本,和只有一位维护者、寥寥几位测试者的非官方移植版,完全是两回事。
在继续花时间排错之前,值得先确认:
- 这是你设备的官方版本,还是移植版?
- 最后一次更新是什么时候,维护者还活跃吗?
- 与你设备版本完全相同的其他用户,是否反馈这个版本能成功启动?
- 你的设备版本是否列有已知问题?
有时结论就是这个版本暂时不支持你的设备版本,再规范的操作也改变不了。我们的 第三方 ROM 盘点 介绍了哪些项目的设备支持最好。
回到原厂系统
如果你想到此为止、回到厂商的系统,这条路是存在的,通常也是让手机恢复可用最可靠的办法。
这需要你确切型号和地区对应的原厂固件,来自厂商自己的发布渠道,并按厂商自己的流程操作。除非厂商文档对你所用的具体模式另有说明,请默认这会清除用户数据。
回到原厂系统并不会自动撤销已解锁的 Bootloader。在装着非原厂软件的状态下重新锁定 Bootloader,可能得到无法启动也无法刷机的设备。在设备运行未经修改的原厂固件并且能正常启动之前,不要重新上锁。
常见问题
首次开机多久算太久? 比你想的要久,有用的信号是动画是否还在转,而不是时间。画面卡住不动,就是启动已停止。动画反复从头开始,就是循环。
换一个 ROM 刷能解决吗? 可以试,但如果根本原因是固件底包或 Recovery,下一个 ROM 也会撞上同样的墙。先找出不匹配的那一层,否则只是在挨个试 ROM,而不是在诊断。
清刷一定能解决吗? 不一定。它能解决残留数据造成的冲突,但解决不了固件底包错误、Recovery 不兼容、设备版本不受支持或版本本身有问题。它不可逆,所以值得先把不破坏数据的检查都做完。
Recovery 提示 data 已损坏,我的数据没了吗? 不一定。Recovery 无法解密分区时,提示和读取到损坏数据时很相似。能正确支持你设备的 Recovery 版本,可能读取完全正常。不要为了消除提示而格式化。
之后需要重新锁定 Bootloader 吗? 不需要,而且在装着自定义软件时锁定,可能得到既不能启动也无法刷机的设备。如果想锁上,先回到未经修改的原厂系统,并确认设备能正常启动。
这能远程修复吗? 如果设备能进入 Recovery 或 Fastboot,并且你有一台电脑,一般可以,因为操作是从主机端执行的。一次远程会话包含哪些内容,请看这里。
延伸阅读: 不丢数据修复开机循环 · 各种开机界面症状的含义 · 安卓手机总是启动到 Recovery · 软砖与硬砖 · 最佳第三方 ROM
资料来源:Android Open Source Project 的分区与动态分区文档。
最后核实:2026 年 8 月 23 日。固件底包要求、Recovery 兼容性和安装流程因设备和 ROM 版本而异。请以维护者针对你设备代号的文档为准。