EtchDroid 中文文档 下载 App

写入失败后的恢复流程

v1.9 之前的失败处理

在 v1.9 之前,EtchDroid 遇到写入失败时的行为非常原始——直接弹窗提示"写入失败",然后把 U 盘留在半写入状态。用户需要自己拔掉 U 盘、重启 EtchDroid、重新走一遍全部流程。

v1.9+ 的失败恢复机制

v1.9 rc1 的发布说明里提到一个关键改进:

"EtchDroid will now recover from most write failures and ask you to unplug and reconnect your USB drive"

新的恢复流程是:

  1. EtchDroid 检测到写入异常(USB 断开、设备重置、写入超时、设备返回错误等)
  2. 暂停写入
  3. 在界面上明确提示"检测到错误,请拔掉 U 盘后重新插入"
  4. 用户执行操作后,EtchDroid 重新枚举 USB 设备
  5. 重新开始写入整个镜像(EtchDroid 不做断点续写,恢复总是从头开始)

注意:恢复机制只在 EtchDroid 前台运行时生效。如果写入过程中手机重启了、或者 EtchDroid 被系统杀死了,恢复流程只能等下次手动打开 EtchDroid 重新来。

为什么不做断点续写

EtchDroid 不提供断点续写功能。原因有两个:

  1. 写入磁盘镜像本身就不应该续写:磁盘镜像是对整个磁盘的逐位拷贝——如果在某一个扇区中断后从中间续写,那些没被覆盖的后半部分保留了上一个镜像的残留数据,得到的盘会是混乱的、不可启动的
  2. 恢复代码复杂度:为了一个极少见的场景(应急救场时 U 盘写一半出错)增加断点续写的实现和测试成本,不符合 EtchDroid "只做一件事且做好"的产品定位

U 盘"变砖"后怎么办

写入中途强制中断(拔掉 U 盘、手机强制关机等)后,U 盘会处于 MBR/GPT 半写入状态——表现为:

解决方法是先格式化再重写。具体步骤见本站 U 盘格式恢复指南。

一个务实建议

在应急场景下,U 盘可能是你唯一的工具。所以在写完镜像、校验通过后,先别急着拔 U 盘——等进度条完全消失、EtchDroid 提示可以安全拔出后再拔。多等 30 秒可以避免最后几个扇区还没刷完到物理闪存的情况(U 盘的内部缓存还没 flush)。