想直接看解决方法见总结即可
2020.10.13:记一件小事。今晚官改miui日常升级呢,电脑上玩着玩着,手机还没开机继续打一会csgo人机,打完还没开机,一看一直卡在redmi界面,不对劲!一般开机redmi界面完后,应该会展示开机动画的,我这个都进不去开机动画。开始测试
特征
- 无法进入recovery模式:长按电源键与音量加键,手机震动一下,亮屏又是这个redmi界面,有时候放着也会自动这样重启,就是循环卡在了这个开机界面。
- 此时如果插上电源,指示灯会变成红色,应该表示在充电。
- 因为也没有开启usb调试所以无法测试是否可调试。
- 本还想着是不是magisk模块导致的问题,后面验证了也不是。毕竟我并没有添加什么新的“优化”模块。
- 然后网上搜了一下,并没有啥有意义的答案,都是套话。
后面突然想起来好像没试过fastboot模式(Bootloader模式)。于是试了一下:长按电源键与音量减键,出现了可爱的小兔子。能进,这就好办了。
- 再刷一下recovery分区,重新引导进recovery。
- 成功刷入,并且成功引导到recovery模式,出现了TWRP的开始界面这下不就又可以愉快搞机嘛。
不料进了recovery后又自动按照openrecoveryscript脚本刷入原来的刷机包(刷机包已经确认过md5是正确的,一般md5错误的包经常会错误代码7),但是一想,为何不再试一次?
- 22:24刷完,开始重启;22:30,系统正式亮屏。
- 。。。真有你的,真是玄学
总结
- 所以循环卡开机界面,无法进入recovery模式,但是能进fastboot的话,可以使用fastboot再次刷一次recovery并重新进入即可,进入了recovery模式,又是可以随意搞机的小机子了。
- 如果是官方原系统的话,大同小异,提取出官方recovery,在fastboot重新刷一下即可。(请注意下面的注意事项)
什么,然后呢?然后在recovery分区刷入你的可用的刷机包,没有的话传进去一个(官方rec可以传东西吗,不知道,或许吧)
当然,如果不是第三方rec的话(官方系统,没解过BL锁),直接在fastboot模式下,在电脑上用相应软件刷机就好了(即线刷)
除非真的是自己的什么大物理操作(比如掉水里)导致的,千万不要轻信换主板的鬼话(太贵了!),先自己试一试
注意事项:以上建立在已解锁BootLoader的情况下(只有这样才能动recovery分区或者线刷)较新的机器一般都会有BootLoader锁,旧的一般还没有。
如果有BootLoader而未解锁的高通机器也可以尝试9008端口强刷recovery。其他的无能为力(具体自行百度,我没试过)
怎么知道有没有BootLoader锁:可以在网上搜,也可以在官方社区里看,比如小米的https://www.xiaomi.cn/,可以在MIUI下载里,随便点一个机型进去,在下载按钮右边有刷机教程,在左边的线刷方式可以看到所有机型有无BL锁信息。–> 所有小米手机BootLoader锁信息
BootLoader延伸
引用知乎问答 刷recovery需要解锁bootloader吗:
作者:Paul Yang
bootloader如果锁了,fastboot、recovery情境下都不能擦写启动分区,但是可以绕过这两个途径去刷,高通用9008端口刷第三方rec可以启动第三方rec,因为有的手机bootloader不校验rec分区的签名。
如果BL锁了,即使你强行刷了非官方boot,因为BL会校验boot分区的数字签名,所以无法加载Android内核到RAM,也就无法启动system。
bootloader是不是加锁,完全取决于厂家的策略,加锁的原理是修改某个指定分区指定位置的数值,BL在启动时检测这个数值来判断锁定状态,这个值通常有四个:锁locked、不锁unlocked、重新锁relocked、完全不锁critical unlocked。
bootloader到底在哪,bootloader是好几个启动阶段的统称,bootloader与电脑的启动管理器相似,负责启动手机的用户层面操作系统,对于高通手机来说,负责启动Linux内核的是aboot,fastboot程序在aboot分区里,recovery则是加载rec分区的Linux内核之后启动。