TFS 刷入super分区时卡死的解决措施

您也可以在 Telegraph 平台 阅读这篇文章
如果您正在应对该情况,可以直接跳转到解决方案章节

情况介绍

部分用户报告了自己的设备在刷入super分区时卡死的现象,如下图所示

这位 Edge S 用户在刷入 super 分段时卡死,TFS脚本正在等待设备号为“ZY”开头的设备连接到电脑

笔者也曾经在为自己的 Moto G53 进行系统更新时,遇到相同情况

解决方案

1 请确保仅有一台故障设备正确连接至电脑,并且Win10设备管理器没有出现设备未识别等情况

2 在“(TFS文件夹)\tools\include\”路径下,找到“doFlashSPartSuper.cmd”文件

在右键菜单选择“编辑”(也就是用记事本打开)或“通过 Code 打开”(用 VS Code 打开)

3 打开文档

将文档第34行的命令
%fastboot% -s %serial_number% flash super %%a
改为
%fastboot% flash super %%a

并保存文件

4 重新进行固件刷入,现在TFS的刷入应该恢复正常了

原因分析&思路简述

笔者发现,在数个 super 分段进行刷入后,设备号从“ZY”开头的代码变成了数个“?”组成的代码

这时设备正常连接到电脑,也就是说TFS中的代码要求adb正在等待设备正确表明它的设备号

那么,只要TFS跳过设备识别的步骤,就能够正常刷入

你搞个毛啊,不要发这个去误导别人!

如果刷着系统突然掉线,那么你应该着重检查 USB 数据线、USB 接口,看一看接口有没有变脏,数据线有没有变坏,连接性变差的话如果刷机过程不小心碰了手机,手机就会掉线!而不是找程序的问题!

不是说你头疼那么把头砍掉就不会痛了,头疼正确的做法是吃药。

我来给你讲一讲原理:

上面 waiting for 的意思是,设备掉线了,等待它连接到电脑。此时说明数据线已经断开了。

ZY开头的是你的设备的序列号,fastboot -s 你的设备序列号 的意思是只向你这台手机刷入镜像,不要打扰到同时插入设备的其它手机。

如果不指定设备序列号的话,那么 fastboot 执行命令时将会默认 fastboot devices 得到的列表中的首个设备。

如果你的设备序列号突然变成了 ??? 说明 USB 连接性出现了问题,设备已经不能正常读取了。

哎,大佬……
我自己的G53就是遇到了这种问题,前后换了3根USB线,有一根还是刚买几天的全新2.0线(绿联充电宝附赠的)
升级之前的fastboot devices返回值是正常的——
List of devices attached
ZY22GG3S4L device

然后刷入super分区的过程中卡住了(我也不确定究竟是第几个分段,好像是第8个),再次测试时,返回值变成了下面这样的——
List of devices attached
?????????? device

问题在于,这是super分区刷到一半变成这样的,和出现问题的这个老哥一样的情况
也就是说,除非是手贱拔掉了线,否则不是USB连接问题
我自己排除了各类问题,最后去掉了识别设备号的这段,才成功升级的,否则我手机就彻底卡死在super刷入这段了

注:频繁修改是因为 我上次更新系统后 已经有一段时间了,一旦想起当时的细节,就会回来纠正