在经历了各种乱七八糟的折腾之后, 我手头的红米k40不出意外变成了这样:
首先连接电脑, 进入fastboot模式. 尝试fastboot刷入twrp,fastboot boot twrp.img
依旧报错FAILED (remote: 'Failed to load/authenticate boot image: Device Error')
因为该机器是va/b动态分区, 所以尝试了修改插槽fastboot set_active a
之后重启设备就能正常显示mi的开机图,无限重启. 接下来就开始刷入系统.
首先临时刷入twrpfastboot boot twrp.img
刷入之后会自动重启到twrp
进入fastbootdadb reboot fastboot
将卡刷包解包, 我打算刷入的是pixel experience, 该rom包解包之后有一个payload.bin
的文件
使用payload-dumper-go
工具将该文件解包,得到boot.img
odm.img
system.img
等等文件
先设置活动插槽fastboot set_active a
将解包出来的文件一个一个的通过fastboot命令刷入手机:
例如: fastboot flash boot boot.img
当我刷到odm的时候出现了意外,提示Sending 'odm' (31820 KB) OKAY [ 0.778s]
Writing 'odm' FAILED (remote: 'No such file or directory')
查阅资料后得知因为odm分区不存在,应该先创建odm分区,fastboot create-logical-partition odm_a 3200000
#这边最后一个参数是分区大小 单位字节 最好设置成odm.img文件字节+1
然后继续刷写分区fastboot flash odm odm.img
全部的img文件刷写成功之后, 清除data数据fastboot erase metadata
fastboot erase userdata
最后选择插槽后重启fastboot set_active a
fastboot reboot
成功开机!
附一些常用的fastboot命令
fastboot getvar is-logical:<partition> 来确定某个分区是不是动态分区(逻辑分区)
fastboot create-logical-partition <partition> <size> 创建动态分区
fastboot delete-logical-partition <partition> 删除动态分区
fastboot resize-logical-partition <partition> <size> 调整分区尺寸