路由器固件版本文件格式怎么看?BIN、IMG、TRX 到底有啥区别

刷机前翻ref="/tag/286/" style="color:#8B0506;font-weight:bold;">固件包,看到 xxx.binopenwrt-23.05.3-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin 这类一长串名字,头都大了?别急,这串字符不是乱码,而是藏着关键信息——固件版本文件格式

常见的固件后缀,不是随便起的

你下载的固件,后缀基本就决定了它能不能刷进你的路由器。最常见的是:
.bin:华三、TP-Link、水星等多数国产厂商用的通用格式,结构简单,常含校验头和原始镜像;
.img:部分中兴、华为定制设备喜欢用,本质也是二进制镜像,但可能带分区表信息;
.trx:OpenWrt 早期常用格式,头部固定 28 字节,含魔数 HDR0 和 CRC 校验,专为嵌入式 Flash 设计;
.sysupgrade:OpenWrt 官方推荐升级格式(实际仍是 .bin 或 .trx 封装),带签名验证和安全检查逻辑。

看懂文件名,比猜后缀更靠谱

比如这个文件名:

openwrt-23.05.3-ath79-generic-netgear_wndr3700v4-squashfs-sysupgrade.bin

拆开看:
23.05.3固件版本号(2023 年第 5 个月发布的第 3 个补丁);
ath79-generic → 架构平台(Atheros 79xx 系列芯片通配版);
netgear_wndr3700v4 → 明确适配型号;
squashfs → 文件系统类型(只读压缩,省空间);
sysupgrade → 升级方式(保留配置重刷,非 factory 初始刷机)。

别瞎改后缀,小心变砖

有人觉得“.bin”不好看,手动改成“.img”再上传——结果路由器死活不认。因为固件校验不只看后缀,更要看头部魔数。拿 hex 编辑器打开一个标准 TRX 文件,开头一定是:

48445230 00000000 00000000 00000000

对应 ASCII 就是 HDR0。而 TP-Link 的 BIN 开头通常是 TP-LINK 或厂商自定义标识。刷错格式,Bootloader 直接拒载。

怎么确认自己该用哪个?

三步法:
① 查路由器型号官网「支持文档」或「固件下载页」,看明确标注的格式要求;
② 进路由器后台,系统状态里找「固件版本」和「硬件版本」(比如 WR886N v5 和 v6 刷的固件完全不同);
③ 实在拿不准,优先选 OpenWrt 官网标 sysupgrade 的 BIN,兼容性最稳;商用设备则严格按厂商提供的 IMG/BIN 刷。

固件格式不是玄学,是写死在 Bootloader 里的硬规则。看清后缀、读懂文件名、对准硬件版本,比盲目跟风刷最新版更重要。