刷完机 App 装不上、密码设不了,元凶是个 1~2MB 的分区

发布时间:2026/11/5 1:30:45
刷完机 App 装不上、密码设不了,元凶是个 1~2MB 的分区

前言

设备是一台二手小米10,系统从官方MIUI换成了LineageOS。刷完能正常开机,但装不了App,也设不了密码;用ADB却能装,刷回MIUI又一切正常。

折腾了两天,最后定位到FRP分区残留。下面按排查顺序写。


故障现象

设备刷入lineage-23(Android 16)并完成基础配置后,出现两个稳定复现的异常:

应用安装异常

用系统自带的“应用管理器”点APK文件,提示未安装应用,安装直接终止。但adb install xxx.apk能装上,装完也能正常运行。底层安装服务是好的,问题出在上层交互或权限校验。

系统密码无法设置

进设置里的“安全”,界面加载约1秒后设置直接闪退,锁屏密码和指纹都配不了。其他设置项(Wi-Fi、显示、声音)都正常。只有进“安全”子页面才崩,像是它依赖的系统服务出了问题。


排查过程

第一轮:怀疑LineageOS版本问题

刷lineage-23时发现问题,降级到lineage-22(Android 15),故障完全复现;刷回官方MIUI,故障又消失。所以不是ROM稳定性问题,也不是硬件故障,更像是刷机残留的数据导致的。


第二轮:怀疑Google服务缺失/异常

LineageOS官方版不预装GApps,部分App依赖Google服务框架,于是刷了对应版本的MindTheGApps。重启后设备强制进入Google账户验证界面。

反常的地方在于:首次开机后的验证界面一般有“跳过”或“以后再说”,这台设备完全没有,不登录就进不了桌面。试着登录,始终卡在正在验证信息…,换网络、清除Google服务数据都没用。

到这一步已经高度怀疑:设备还绑着前任用户的Google账户,账户信息在刷机时没被清掉。


第三轮:检索资料,锁定FRP分区

搜LineageOS 强制验证 Google 无法跳过,在XDA论坛翻到好几个类似案例,都指向FRP(Factory Reset Protection)分区。

FRP是Android 5.1引入的安全机制,防止设备被盗后靠恢复出厂设置接着用。核心逻辑如下:

项目说明
存储内容上一次登录的Google账户信息(加密令牌)
清除时机普通“恢复出厂设置”不会擦除FRP分区
触发时机设备恢复出厂设置后重启,系统读取FRP分区;若有账户信息,强制验证
绕过方式必须输入原账户密码,或通过fastboot erase frp彻底清空分区

对照下来完全吻合:

  • 前任机主登录过Google账号,FRP分区里已经写入了账户信息;
  • 我恢复出厂设置再刷机,系统分区被覆盖,FRP分区却原样保留;
  • 首次开机,系统读取FRP,强制要求验证原账号;
  • 验证过不去,系统就停在半激活状态,应用安装、密码设置这类功能跟着受限。

到这儿,问题的根源就明确了。


解决方案

操作前确认

  • 设备需处于Bootloader模式(adb reboot bootloader);
  • 已解锁Bootloader(小米设备刷第三方ROM必解);
  • 电脑端已安装Platform Tools(含fastboot)。

执行FRP分区擦除

fastboot erase frp

终端输出如下:

Erasing 'frp' OKAY [ 0.002s] Finished. Total time: 0.013s

整个过程耗时不到0.1秒。

重启并验证

fastbootreboot

设备重启后:

  • Google账户验证界面消失,直接进入桌面;
  • 应用管理器能正常安装APK;
  • 设置里的“安全”能正常打开,密码、指纹都能配;
  • 连续使用24小时,故障没再出现。

为什么刷机也清不掉它

FRP分区物理位置

在小米10(以及绝大多数Android设备)的分区表中,FRP是一个独立的小分区:

/dev/block/by-name/frp

通常大小仅为1~2MB,不挂载到文件系统,普通用户不可见。

刷机为什么不擦除FRP?

  • 第三方REC(如TWRP):双清/格式化Data不包含FRP分区。
  • LineageOS刷机包:其更新脚本仅覆盖system、vendor、boot等分区,不操作frp分区。

所以,只要前任用户的Google账户信息曾写入FRP,无论你刷多少次LineageOS,只要不主动erase frp,账户校验锁就一直在。


如何验证FRP分区是否有数据?

Linux/macOS下可通过以下命令读取(需root或fastboot):

fastboot getvar all|grepfrp

或进入系统后(需root):

ddif=/dev/block/by-name/frpof=/tmp/frp.img hexdump-C/tmp/frp.img

正常擦除后的FRP分区全为0x00,有数据时会呈现加密乱码。


启动阶段的FRP校验时序

FRP_PartitionAndroidSystemKernelBootloaderUserFRP_PartitionAndroidSystemKernelBootloaderUseralt[FRP有账户信息][FRP为空]开机加载内核启动系统服务读取FRP数据返回加密令牌强制显示Google账户验证界面输入原账号密码(或失败)验证通过后更新/保留令牌返回空直接进入桌面

总结与建议

本次故障根因

二手设备的FRP分区残留着原机主的Google账户信息,刷第三方ROM后系统强制校验又跳不过去,系统于是停在“半激活”状态,应用安装、密码设置这些依赖完整账户状态的功能跟着异常。

三条实操建议

  1. 入手二手设备后,第一时间擦除FRP分区

    fastboot erase frp

    不管后面打算用MIUI还是第三方ROM,这条命令都该先跑一遍,没有副作用。

  2. 别指望“双清”能清掉账户锁
    普通恢复出厂设置、TWRP里格式化Data、刷机脚本里的format data,都不会擦除FRP。

  3. 遇到“无法跳过Google验证”,先查FRP
    不用重刷系统,也不用换GApps包,先erase frp,90%的案例都能解决。


附录:相关资源链接

  • LineageOS 官方下载页(小米10)
  • MindTheGApps 下载
  • Android 官方FRP说明

这个故障卡了我两天,网上中文资料几乎没有完整梳理过“FRP残留导致第三方ROM功能异常”的案例。如果你也遇到类似问题,希望这篇文章能帮你节省至少一个晚上的排查时间。欢迎转载,保留出处即可。