写入完成后校验机制
v1.9 带来的重大改进
v1.9 是 EtchDroid 的一次完全重写。除了 Material You UI,最重大的功能增量就是写入后校验机制。在这之前的版本只做扇区拷贝,不验证写入结果——如果写入过程中 USB 连接不稳定、或者 U 盘有坏块,得到的就是一块表面"写入成功"但实际数据有损坏的启动盘。
校验做了什么
校验阶段是 EtchDroid 写入完成后的自动流程,不需要用户手动触发:
- 从 U 盘的扇区 0 开始,逐块(通常 4MB 一块)读回刚写入的数据
- 与手机存储里的源镜像文件进行逐字节比对
- 所有块完全一致 → 校验通过,EtchDroid 提示"写入成功"
- 任何一块有不匹配 → 校验失败,EtchDroid 提示写入过程中可能有问题,并建议重新写入

校验时间
校验本质上是再完整读一遍整个 U 盘的写入区域——所以校验时间 ≈ 写入时间。一个 1.5GB 的镜像:写入 2 分钟,校验还要 2 分钟,总共约 4 分钟。
v1.9 rc3 的发布说明提到校验过程的性能大幅提升——通过调整缓冲区和队列策略,校验阶段可以与写入阶段并行流水线化,缩短总耗时。但对用户来说,等待仍然不可避免。
校验失败了怎么办
校验失败(数据比对不一致)通常意味着以下几种情况之一:
| 原因 | 解决 |
|---|---|
| 写入中途 USB 连接有瞬时抖动 | 重新完整写入一次 |
| U 盘有坏块 | 换一个 U 盘 |
| 手机 USB 口供电不足 | 换一根更粗的 OTG 线或换一个 U 盘 |
| 源镜像文件本身有损坏 | 重新下载镜像,校验 MD5/SHA256 |
EtchDroid 检测到校验失败后不会自动重试——它会在界面上提示,由用户决定是否重新写入。这是设计选择,避免在不知道问题根源的情况下盲目重复。
如果你跳过了校验
v1.9+ 的 EtchDroid 没有提供"跳过校验"的开关——校验是强制的。这让它和 balenaEtcher、Rufus 等工具的默认行为不同(这些工具默认也校验,但通常可以手动关闭)。EtchDroid 的观点很明确:在应急救场场景下,校验不是可选功能,是必须功能。