休闲

小米线刷降级删除代码

时间:2010-12-5 17:23:32  作者:综合   来源:综合  查看:  评论:0
内容摘要:小米线刷降级,真正要删的不是某个“代码”,而是两处关键校验:vbmeta 分区里的 AVB 验证标志,以及 misc 分区里可能残留的 bootloader_message。不处理这两处,刷完旧版 M

小米线刷降级,小米线刷真正要删的降级不是某个“代码”,而是删除两处关键校验:vbmeta 分区里的 AVB 验证标志,以及 misc 分区里可能残留的代码 bootloader_message。不处理这两处,小米线刷刷完旧版 MIUI 大概率卡在开机第一屏,降级或者反复重启进 Recovery。删除

我上周帮人处理一台小米 11 Ultra,代码从澎湃 OS 降回 MIUI 14。小米线刷按常规流程解锁 BL、降级进 fastboot、删除跑 flash_all.bat,代码脚本跑完提示成功,小米线刷重启后直接黑屏,降级连小米 logo 都不出。删除换用 flash_all_except_storage.bat 重刷一遍,问题一样。最后用 fastboot getvar current-slot 查了一下,当前在 slot_b,但脚本只刷了 slot_a 的分区。手动切槽再刷,才正常开机。这说明线刷包里的脚本并不总是覆盖所有槽位,尤其是跨大版本降级时。

删代码这个说法,最早来自 MIUI 论坛。有人发现降级后卡米,是因为新系统在 vbmeta 里写入了 disable_verity 和 disable_verification 标志,旧版 boot 镜像不认。解决办法是用 fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img 重刷一次 vbmeta。这条命令本质上就是删掉 AVB 校验标记,让系统跳过完整性验证。不执行这一步,旧版 boot 会因为签名不匹配被拒绝加载。

另一个坑在 misc 分区。这个分区存放着 bootloader 的通信信息,比如 bootloader_message 结构体。降级过程中如果之前进过 Recovery 并触发过 OTA 更新,misc 里可能残留 boot-recovery 指令。刷完旧版系统后,bootloader 读到这个指令,会直接进 Recovery 而不是正常启动。清除方法是 fastboot erase misc,或者用 fastboot flash misc misc.img 刷入空白镜像。很多人忽略这一步,结果反复进 Recovery,以为刷机失败。

具体操作顺序有讲究。先解锁 BL,这是前提。然后进 fastboot,执行 fastboot flashing unlock 确认解锁状态。接着刷入旧版线刷包,但不要急着重启。刷完后立刻执行两条命令:fastboot erase misc 和 fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img。最后 fastboot reboot。如果用的是 flash_all.bat,脚本末尾通常会自动重启,需要手动中断,把上面两条命令补进去。

有个细节值得注意。小米部分机型在降级后,指纹和面部识别会失效。这不是代码没删干净,而是旧版系统里的指纹固件和新版传感器固件版本不匹配。解决办法是刷回对应版本的 persist 分区镜像。但 persist 分区包含出厂校准数据,不同机器不能互刷。所以降级前最好用 fastboot getvar all 备份一遍 persist,或者用 TWRP 单独备份。没有备份的话,降级后指纹基本报废。

另外,flash_all.bat 脚本里有一行 fastboot %* flash crclist %~dp0images\crclist.txt,这个 crclist 是分区校验列表。降级时如果旧版线刷包里的 crclist 和新版分区不匹配,脚本会报错退出。解决办法是手动删掉脚本里所有含 crclist 和 sparsecrclist 的行,或者直接用 flash_all_except_storage.bat 再手动补刷关键分区。我一般推荐后者,因为 except_storage 脚本不碰 userdata,降级后数据还在,省去恢复备份的麻烦。

最后说一个真实翻车案例。有人用某第三方线刷工具降级,工具自动勾选了“清除所有数据”和“刷入 vbmeta”,但没勾“清除 misc”。刷完开机卡在 fastboot 界面,屏幕显示 press any key to shutdown。他以为变砖了,其实只是 misc 里的指令让 bootloader 进入了 fastboot 模式。长按电源键 10 秒强制关机,再按音量下加电源进 fastboot,执行 fastboot erase misc,重启就好了。所以别被卡 fastboot 吓到,多数情况只是分区残留没清干净。

线刷降级删代码,核心就三件事:清 misc、刷 vbmeta 关验证、确认槽位正确。其他都是锦上添花。操作前备份 persist,操作中别断电,操作后别急着拔线。做到这几点,旧版 MIUI 基本都能正常跑起来。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap