img.gz 怎么解压:img.gz、img.xz 镜像解压,7-Zip 提示“有效数据外包含额外数据”正常吗
用 7-Zip 或 Linux、macOS 命令解压 .img.gz、.img.xz、.zip、.7z 和分卷镜像,说明 OpenWrt 镜像解压时 7-Zip 额外数据提示的原因,以及哪些写卡工具不用解压。约 5 分钟。
适用于整盘镜像(可直接写卡)OpenWrt 系统升级包
先说答案
.img.gz、.img.xz 是压缩过的系统镜像,解压后得到一个 .img 文件。Windows 用 7-Zip 右键“解压到当前位置”就行;Linux、macOS 用自带的 gzip、xz 命令。
解压 OpenWrt 的 sysupgrade.img.gz 时,7-Zip 提示“有效数据外包含额外数据”是正常的:OpenWrt 在压缩数据后面附加了一小段固件信息,解压出来的 .img 是完整的,可以照常写卡。
很多时候根本不用解压:Raspberry Pi Imager、balenaEtcher 和 Rufus 都能直接读取 .img.gz、.img.xz 和 .zip。只有 .7z 和分卷压缩包必须先解压。
先判断你是哪种情况
| 下载的文件结尾 | 要不要解压 | 看哪一节 |
|---|---|---|
.img | 不用,已经是镜像 | 直接写卡,见 如何把开发板系统镜像写入 SD 卡 |
.img.gz、.img.xz、.img.zst,或里面只有一个 .img 的 .zip | 可以不解压 | 不解压直接写卡 |
.7z | 必须先解压 | Windows:用 7-Zip 解压 |
.7z.001、.img.001 这样带编号的分卷 | 全部下载后再解压 | 分卷压缩包 |
.tar.gz、.tar.xz | 是打包文件,要先解开 | 常见问题 |
| 7-Zip 提示“有效数据外包含额外数据” | 可以忽略 | 7-Zip 提示“有效数据外包含额外数据”正常吗 |
第 1 步:先核对 SHA-256
解压之前,先核对下载的压缩包。本站页面上的 SHA-256 是压缩包本身的值(例如 .img.gz),不是解压后 .img 的值,所以要对下载到的文件做核对。方法见 如何核对下载文件的 SHA-256。
应看到:算出来的值和页面上的完全一致。不一致就重新下载,不要解压也不要写卡。
不解压直接写卡
下面这些工具都能直接读压缩镜像,边解压边写入,省时间也省硬盘空间:
| 工具 | 能直接选的文件 | 不支持 |
|---|---|---|
| Raspberry Pi Imager 2.0.12(Windows、macOS、Linux) | .img、.zip、.gz、.xz、.zst、.iso、.wic | .7z 不在可选列表里 |
| balenaEtcher 2.1.8(Windows、macOS、Linux) | .img、.zip、.gz、.xz、.bz2、.raw、.bin、.iso、.wic 等 | .7z、.tar 打包文件 |
| Rufus 4.15(只有 Windows) | .img、.zip、.gz、.xz、.zst、.bz2、.iso、.vhd 等 | .7z |
| 整盘镜像校验与写卡脚本(Linux、macOS) | .img、.raw、.bin、.gz、.xz、.zst,以及只装一个 .img 的 .zip | .7z、.rar、分卷 |
用 Raspberry Pi Imager 时,在“操作系统”里拉到最下面选“使用自定义镜像”,直接选 .img.xz 或 .img.gz 文件即可。完整的写卡步骤见 如何把开发板系统镜像写入 SD 卡。
提示型号教程里写了“先解压再写卡”的,按教程来。例如 OpenWrt 官方对部分 NanoPi R 系列设备的安装说明就是先把 .img.gz 解压成 .img 再写卡。
Windows:用 7-Zip 解压
- 从本站 7-Zip 页 下载
7z2604-x64.exe并安装(64 位 Windows)。 - 在下载的文件上点右键,选 7-Zip →“解压到当前位置”(英文界面为 Extract Here)。Windows 11 的右键菜单里没看到 7-Zip 时,先点“显示更多选项”。
- 等进度条走完。
应看到:同一个文件夹里多出一个去掉 .gz 或 .xz 后缀的 .img 文件。例如 openwrt-25.12.6-x86-64-generic-ext4-combined-efi.img.gz(约 14 MB)解压后是约 126 MB 的 openwrt-25.12.6-x86-64-generic-ext4-combined-efi.img。
注意解压后的镜像比压缩包大很多。例如树莓派系统 2026-10-06-raspios-trixie-arm64.img.xz 下载约 1.4 GB,解压后约 6.7 GB。先确认硬盘空间够用;解压到 FAT32 格式的 U 盘时,单个文件超过 4 GB 会失败,请解压到电脑硬盘。
7-Zip 提示“有效数据外包含额外数据”正常吗
解压 OpenWrt 的 sysupgrade.img.gz 时,7-Zip 会弹出这条提示,英文界面是 There are some data after the end of the payload data,命令行版 7-Zip 会把它标成 ERROR。这不是文件坏了,原因如下:
- OpenWrt 官方编译脚本生成
sysupgrade.img.gz的顺序是:先把整盘镜像用 gzip 压缩,再在压缩数据后面附加一段固件信息(支持的设备型号、OpenWrt 版本等)。 - 以后在 OpenWrt 里用 sysupgrade 升级时,系统会读取这段信息,确认固件和设备型号对得上。
- 7-Zip 和 gzip 解压到压缩数据的结尾后,发现后面还有这段附加内容,就会提示一句。附加内容不会进入解压出来的
.img。
我们用本站提供的 openwrt-25.12.6-rockchip-armv8-friendlyarm_nanopi-r2s-squashfs-sysupgrade.img.gz 核对过:压缩数据后面附加了 282 字节,内容开头是下面这样;7-Zip 26.04 和 Linux 的 gzip 解压出的 .img 完全相同(SHA-256 一致),大小都是 176,160,768 字节。
{ "metadata_version": "1.1", "compat_version": "1.0", "supported_devices":["friendlyarm,nanopi-r2s"], ...哪些文件会出现这条提示:
| 文件 | 会不会提示 |
|---|---|
NanoPi R 系列、树莓派 4、树莓派 5 的 OpenWrt …-squashfs-sysupgrade.img.gz | 会,可以忽略 |
树莓派 4、树莓派 5 的 OpenWrt …-squashfs-factory.img.gz | 不会 |
OpenWrt x86 openwrt-25.12.6-x86-64-generic-ext4-combined-efi.img.gz | 不会 |
Linux 上用 gzip 解压同样的文件,会看到意思相同的提示:
gzip: 文件名.img.gz: decompression OK, trailing garbage ignoreddecompression OK 就是解压成功。
注意如果 7-Zip 提示的是“数据错误”“CRC 校验失败”或“文件末端错误”(英文为 Data error、CRC failed、Unexpected end of data),说明文件下载不完整或已损坏,要重新下载并核对 SHA-256,这和上面的情况不同。
Linux 和 macOS:用命令解压
打开终端,进入文件所在的文件夹,按后缀运行对应命令。下面的写法会保留原来的压缩包:
# .img.gz
gzip -dc 文件名.img.gz > 文件名.img
# .img.xz
xz -dc 文件名.img.xz > 文件名.img
# .zip
unzip 文件名.zip应看到:命令结束后多出一个 .img 文件,用 ls -lh 能看到它的大小。OpenWrt sysupgrade.img.gz 会多打印一行 trailing garbage ignored,原因见上一节。
- macOS 提示找不到
xz命令时,不用另装,直接用 Raspberry Pi Imager 或 balenaEtcher 选.img.xz文件写卡即可。 - Linux、macOS 解压
.7z要用 7-Zip 官方的命令行版7zz(命令7zz x 文件名.7z)。本站只收录了 Windows 版 7-Zip,Linux、macOS 版本站暂未收录,从文末“官方资料”进入 7-Zip 官网获取。
用本站脚本:校验后直接写卡(Linux、macOS)
整盘镜像校验与写卡脚本 会先核对 SHA-256,再边解压边写入 microSD 卡或 U 盘,不用提前解压 .img.gz、.img.xz、.img.zst。它会拒绝 .7z、.rar 和分卷文件(提示先用 7-Zip 解压),也会拒绝瑞芯微 update.img 等厂商刷机包和没有分区表的文件。
- 在脚本页面下载
flash-image.sh,先阅读源码。 - 插上存储卡,Linux 用
lsblk、macOS 用diskutil list找到卡的整盘设备名(例如/dev/sdb、/dev/mmcblk0或/dev/disk4)。插卡前后各运行一次,新出现的那一项就是卡,容量也要和卡对得上。 - Linux 桌面插卡后常会自动挂载,脚本发现卡上的分区还挂载着会拒绝写入;先在文件管理器里把卡弹出(卸载),再继续。
- 先试运行,只做检查不写入:
sudo bash flash-image.sh --dry-run 文件名.img.xz /dev/sdX 页面上的SHA-256试运行也会显示目标设备的容量和型号,并要求输入完整的设备路径确认,但不会写入。
检查都通过后,去掉 --dry-run 再运行一次,按提示输入完整的设备路径确认。
应看到:写入结束后显示 Done. Remove the card safely, insert it into the board and power on.
警告写入会清空整个目标设备。设备名填错会抹掉别的硬盘上的资料,一定先用 --dry-run 看清容量和型号。
- macOS 上脚本读
.img.xz时如果提示missing tool: xz(系统里没有xz命令),改用 Raspberry Pi Imager 或 balenaEtcher 写卡。 - OpenWrt 的
sysupgrade.img.gz建议先按上面的方法解压成.img再交给脚本:SHA-256 先对下载的.img.gz核对,脚本里不填第三个参数。直接交给脚本时,gzip 会打印一行trailing garbage ignored,原因见上文。
分卷压缩包怎么解压
文件名是 xxx.7z.001、xxx.7z.002……或 xxx.img.001、xxx.img.002……的,是一个大文件被切成了几份:
- 把所有分卷都下载到同一个文件夹,文件名不要改,一个都不能少。
- 在
.001文件上点右键,选 7-Zip →“解压到当前位置”,7-Zip 会自动读取后面的分卷。 - 解压前想确认分卷齐全,可以先在
.001上右键选 7-Zip →“测试压缩包”。
Linux、macOS 上对 .7z.001 运行 7zz x 文件名.7z.001;.img.001 这种直接切开的分卷,可以按顺序拼回去:cat 文件名.img.001 文件名.img.002 > 文件名.img。本站目前没有分卷形式的镜像。
解压后不是整盘镜像怎么办
有些厂商的 .7z 解压后得到的是刷机包,而不是可以直接写卡的整盘镜像。例如 Firefly 的系统包解压后是瑞芯微“统一固件”(update.img),要用 RKDevTool 线刷,方法见 瑞芯微开发板 USB 线刷教程 和对应型号教程,例如 Firefly ROC-RK3588S-PC / Station M3。本站固件页标着“整盘镜像(可直接写卡)”的文件,才能用上面的写卡工具。
常见问题
- `.tar.gz`、`.tar.xz` 怎么办:这是先打包再压缩的文件,写卡工具不能直接用。Windows 用 7-Zip 解压两次(先得到
.tar,再从.tar里解出.img);Linux、macOS 运行tar -xf 文件名.tar.gz。 - balenaEtcher 选不了 `.7z`:Etcher 官方没有支持 7z 格式,先用 7-Zip 解压出
.img再选。Etcher 的其他报错见 balenaEtcher 烧录失败怎么办。 - 解压出来的 `.img` 能不能双击打开:不能,它是整块磁盘的镜像,要用写卡工具写入存储卡或 U 盘。
- 用哪个镜像:OpenWrt 固件在 固件目录 按型号查找,例如 OpenWrt x86-64 UEFI、树莓派 4 OpenWrt、NanoPi R2S OpenWrt;树莓派系统见 Raspberry Pi OS。x86 的完整安装步骤见 OpenWrt x86 安装教程。
资料来源
按 OpenWrt 官方源码(v25.12.6 的镜像生成脚本 image-commands.mk、rockchip 与 bcm27xx 镜像 Makefile、sysupgrade 的 fwtool 检查脚本)、7-Zip 26.04 官方说明与中文语言文件、Raspberry Pi Imager 2.0.12 源码、balenaEtcher 2.1.8 源码与官方文档、Rufus 4.15 源码整理(2026-10-22 查阅)。附加数据和解压结果由本站用 OpenWrt 25.12.6 官方文件在电脑上核对。
提示本页的解压和比对都在电脑上完成,本站没有在实机上测试写卡后的启动。
适用的固件与系统镜像(100)
按适用范围匹配到 100 个固件条目。下载前仍需核对具体型号和硬件版本。
FriendlyElec 18 个
NanoPi M5 / NanoPi R76S · NanoPi R3S / NanoPi R3S LTS · NanoPi R4S / NanoPi R4SE · NanoPi R5C / NanoPi R5S · NanoPi NEO3 / NanoPi R2C / NanoPi R2C Plus / NanoPi R2S / NanoPi R2S Plus · CM3588 (NAS Kit) / NanoPC-T6 / NanoPC-T6 LTS / NanoPC-T6 Plus / NanoPi M6 / NanoPi M6 v2 / NanoPi R6C / NanoPi R6S · NanoPi R2C · NanoPi R2C Plus · 查看全部 ↗
GL.iNet 8 个
GL-MT3000 / Beryl AX · GL-MT1300 · GL-MT2500 · GL-MT2500 · GL-MT3600BE · GL-MT6000 · GL-X3000 · GL-XE3000
Milk-V 7 个
Milk-V Duo 256M · Milk-V Duo (64M) · Milk-V Duo S / Milk-V Duo S (eMMC) · Milk-V Jupiter · Milk-V Mars CM (on RPi CM4 IO) · Milk-V Mars · Milk-V Meles
Radxa 32 个
Radxa CM3 + CM3 IO · Radxa CM3 + Raspberry Pi CM4 IO · Radxa CM3I + CM3I IO · Radxa CM3J + Raspberry Pi CM4 IO · Radxa CM5 + Radxa CM5 IO · Radxa CM5 + Raspberry Pi CM4 IO · Radxa Cubie A5E · Radxa Cubie A7A / Radxa Cubie A7S / Radxa Cubie A7Z · 查看全部 ↗
相关脚本
整理:AppGoBox · 依据 · 本站未在实机上逐一验证