balenaEtcher 完整教程:快速烧录 SD 卡与 U 盘启动盘,带自动校验
【免费下载链接】etcherFlash OS images to SD cards & USB drives, safely and easily.项目地址: https://gitcode.com/GitHub_Trending/et/etcher
balenaEtcher 是一款基于网页技术(Electron)构建的跨平台镜像烧录工具。它把 ISO、IMG 等操作系统镜像逐字节写入 SD 卡或 USB 驱动器,并在写完后自动回读校验,确认数据真的落盘;同时系统盘默认从目标列表中隐藏,从源头避免 SD 卡烧录或制作 U 盘启动盘时误删内置硬盘。
第一步:获取镜像,三种入口
打开应用后,左侧是镜像选择区,提供三种入口:
- Flash from file:从本地选文件,也支持直接把文件拖进窗口;
- Flash from URL:粘贴 http/https 地址直接烧录,最多记住最近 5 个 URL,带 Basic 认证的地址可填用户名密码;
- Clone drive:选一块已有磁盘作为来源,整盘克隆到另一块。
选中文件后,界面会显示文件名与大小。工具按扩展名判断是否支持,完整列表在 lib/shared/supported-formats.ts:iso、img、bin、raw、dmg、dsk、vhd、hddimg、wic、etch、rpi-sdimg、sdcard,以及压缩包形式zip、gz、xz、bz2。
选镜像时还有两个常见弹窗,看到不必慌张:
- 文件名像 Windows 镜像(匹配 windows、win7、win10 等字样)时会提示:Windows 镜像需要特殊处理才能启动,Etcher 建议改用官方发布工具或 Rufus 之类专用工具;
- 镜像缺少分区表时会提示它可能无法被设备识别启动。
第二步:准备环境,各系统安装命令
支持的系统:Windows 10 及以上(64 位)、macOS 10.13 及以上(Intel 与 Apple Silicon 均可)、主流 64 位 Linux 发行版。
# Windows(二选一) winget install balenaEtcher choco install etcher# Debian/Ubuntu:从 release 页下载 .deb 后安装 sudo apt install ./balena-etcher_******_amd64.deb # RHEL/Fedora 系:下载 .rpm 后安装 sudo yum localinstall balena-etcher-***.x86_64.rpm # Arch/Manjaro yay -S balena-etchermacOS 下载 .dmg 后拖入 Applications 即可。Linux 下如果手动跑安装包启动失败,通常是缺 GTK+2.0、dbus 等运行时库,发行版仓库装包会一并处理依赖。
第三步:执行烧录,目标盘怎么选
右侧是目标选择区,点Select target打开设备列表。选盘规则值得细看:
- 系统盘默认隐藏,列表底部提供Show hidden链接才展开;一旦选中系统盘,界面会以橙色警示"这会抹掉你的系统盘";
- 容量预检:镜像比盘大时,该盘显示Too small徽标并禁止选中,不给硬灌的机会;
- 只读盘标Locked,镜像所在的源盘标Source drive(避免自己写自己),容量明显大于建议值的大盘标Not recommended;
- 列表按物理盘(如
/dev/sdb)展示而非分区,同一块盘上的多个分区合并成一条,所以设备数少于分区数是正常的; - 列表支持多选,可以一次烧多块盘。
两侧都就绪后点Flash!。进度条按实际状态分三段推进:压缩镜像先显示Decompressing...(边解压边写),随后是Flashing...,最后进入Validating...。进度期间实时显示速度(MB/s)和预计剩余时间;烧录中按钮会变成取消,中途关闭应用会提示"盘可能停留在不可用状态"。
第四步:验证结果,校验到底在校验什么
✅Validating阶段是 Etcher 的核心差异点:把已写入的内容逐字节回读,与源镜像做 SHA512 哈希比对(早期版本用 CRC32,后来换成了更强的 SHA512),不一致会明确报错,而不是给你一个"烧录成功"的错觉。
完成后进入结果页:
- 全部成功显示Flash Completed!,列出成功目标数量和有效速度;
- 部分失败会列出Failed targets,点more info查看每块盘的错误原因,再点Retry failed targets只对失败的盘重试;
- 点Flash another保留当前镜像,直接换盘或换文件继续下一张。
烧录期间界面还会发送系统级通知(完成/失败),可以切到别的窗口干活。
第五步:处理异常,从报错到修盘 🔧
报错弹窗按错误码给出对应解释,排查时对照下面的含义即可:
| 错误码 | 界面提示的含义 | 优先怀疑 |
|---|---|---|
EVALIDATION | 写入完成但回读发现损坏 | SD 卡老化,换卡重试;反复失败说明卡该换了 |
EUNPLUGGED | 写入过程中失去对盘的访问 | 盘被误拔,或读卡器供电不稳 |
EIO | 无法写入该位置 | 盘、读卡器或 USB 口故障,换任一重试 |
ENOSPC | 盘空间不足 | 换更大的盘 |
ECHILDDIED | 写入进程意外结束 | 重试,持续出现再反馈 |
烧坏盘(half-flashed drive)是另一类问题:盘没写完整,系统识别不到分区表,普通图形工具甚至拒绝操作它。docs/USER-DOCUMENTATION.md 的 "Recovering broken drives" 一节给出了 Windows(diskpart的clean流程)、macOS(diskutil eraseDisk)和 Linux(dd写零头扇区)三套完整擦盘命令,照做即可把盘恢复成可用状态。
⚠️ 两个常被误解的"假故障":
- 烧录 Ubuntu ISO 后,
parted等工具报 GPT 签名/块大小警告——这是 Ubuntu 镜像双启动格式的正常现象,可以安全忽略,盘能正常启动; - Linux 下弹 "No polkit authentication agent found",不是盘的问题,而是系统缺 polkit 认证代理,装上桌面环境对应的 polkit agent 即可。
适合什么时候用:三个高频场景
- 教学批量制备:条件是一批 SD 卡要写同一棵树莓派镜像;操作是用 Etcher 逐张烧,每张都走完 Flashing 与 Validating 才算合格;结果是可以当场剔除校验不通过的坏卡,而不是发出去之后才发现问题。
- 系统急救启动盘:条件是本机崩溃进不去桌面;操作是按故障选镜像——GParted/Clonezilla 做修复、TestDisk 做数据抢救,全部走同一套"写入 + 校验"流程;结果是制盘过程不依赖故障机本身能否联网。
- 嵌入式 CI 流水线:条件是开发验证阶段频繁给开发板烧镜像;操作是用 etcher-cli 做无人值守烧录,校验失败即让流水线报错阻断;结果是每批设备的烧录结果可核验、可追溯。
高频问题速查
插了盘但列表里找不到?重新插拔一次,或等它自动重新扫描;Linux 下确认当前用户对设备有写权限。
Windows 镜像烧完不能启动?Etcher 只做逐字节复制,不做任何转换,Windows 镜像因此不能开箱即用。这类镜像建议用镜像发布方提供的官方工具。
能配置 Live USB 的持久化存储吗?不支持。有持久化需求的 GNU/Linux live 盘可以改用 UNetbootin 之类的工具。
Ubuntu 烧完分区表警告怎么办?前面提过,GPT 相关警告可安全忽略,详见 docs/FAQ.md 对应条目。
生态与文档索引
- balenaOS:面向嵌入式设备的轻量系统,与 Etcher 的烧录流程衔接,烧好即可部署容器化应用并支持 OTA 更新;
- balenaCloud / balenaCLI:远程设备管理与命令行工具,Etcher 烧好介质的设备接入后可在控制台查看状态、推送更新;
- PiShrink:镜像压缩工具,压缩后再烧可以明显缩短解压与写入耗时;
- 问题上报:应用菜单内置Report an issue,一键收集系统日志。
文档侧建议收藏两处:docs/USER-DOCUMENTATION.md 回答"修盘命令、Ubuntu 警告、Linux 依赖"这类深度问题;构建层面的贡献规范在 docs/CONTRIBUTING.md。校验与扫描逻辑在持续修复中,保持官方渠道更新即可。
【免费下载链接】etcherFlash OS images to SD cards & USB drives, safely and easily.项目地址: https://gitcode.com/GitHub_Trending/et/etcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考