AppGoBox

教程

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 解压

  1. 从本站 7-Zip 页 下载 7z2604-x64.exe 并安装(64 位 Windows)。
  2. 在下载的文件上点右键,选 7-Zip →“解压到当前位置”(英文界面为 Extract Here)。Windows 11 的右键菜单里没看到 7-Zip 时,先点“显示更多选项”。
  3. 等进度条走完。

应看到:同一个文件夹里多出一个去掉 .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 ignored

decompression 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 等厂商刷机包和没有分区表的文件。

  1. 在脚本页面下载 flash-image.sh,先阅读源码。
  2. 插上存储卡,Linux 用 lsblk、macOS 用 diskutil list 找到卡的整盘设备名(例如 /dev/sdb、/dev/mmcblk0 或 /dev/disk4)。插卡前后各运行一次,新出现的那一项就是卡,容量也要和卡对得上。
  3. Linux 桌面插卡后常会自动挂载,脚本发现卡上的分区还挂载着会拒绝写入;先在文件管理器里把卡弹出(卸载),再继续。
  4. 先试运行,只做检查不写入:
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.

  • 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……的,是一个大文件被切成了几份:

  1. 把所有分卷都下载到同一个文件夹,文件名不要改,一个都不能少。
  2. 在 .001 文件上点右键,选 7-Zip →“解压到当前位置”,7-Zip 会自动读取后面的分卷。
  3. 解压前想确认分卷齐全,可以先在 .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 个固件条目。下载前仍需核对具体型号和硬件版本。

相关脚本

整盘镜像校验与写卡脚本(Linux/macOS) ↗

整理:AppGoBox · 依据 · 本站未在实机上逐一验证