本帖最后由 laiyujun 于 2025-12-1 16:22 编辑
很多人到了 OpenWrt 下载页面,发现同一个版本、同一个架构(比如 x86_64/64),居然有一大堆带不同后缀和命名的固件,什么 ext4、squashfs、combined、uefi-gpt、vmdk……看得一头雾水。
其实这些名字和用途很有讲究,选对了才会装机顺利、系统能正常启动,选错了要么装不上,要么刷完启动不起来,或者用起来有坑。 下面我结合实战详细讲清楚这些固件到底有啥区别,各自适合什么场景。 1. 文件命名格式说明官方命名很规范,一般格式是: openwrt-版本号-平台-架构-[boot类型]-[文件系统]-[组合类型].img.gz
比如openwrt-24.10.0-x86-64-combined-ext4.img.gz拆解一下: - openwrt-24.10.0:固件版本号
- x86-64:适用平台(x86_64 架构)
- [boot类型]:是否 UEFI、MBR 等[文件系统]:ext4 或 squashfs
- [组合类型]:combined 表示 root + boot 都在一个镜像里
- .img.gz:gz 压缩的 img 镜像(需要解压再刷)
2. 主要文件类型及区别
A. ext4 vs squashfs
ext4
- 文件系统是 ext4(和普通 Linux 一样)
- 默认可读可写,分区扩容方便
- 适合经常折腾、挂各种插件、甚至直接当小型 Linux 用
- 适合喜欢装软件、需要大空间、软路由/NAS 场景
- 可以直接用工具扩容分区(比如 gparted、fdisk+resize2fs)
squashfs
- 文件系统是 squashfs(只读压缩文件系统)
- 系统区本身不能直接写,只能通过 overlay 存配置和数据
- 更小更省空间,跑在嵌入式、小闪存设备上很适合
- 适合空间极小的嵌入式设备,喜欢“刷机+恢复出厂设置”玩法
- 更新系统比较快,但不适合大规模自定义和折腾
一般来说,如果你是软路由/PC装机,建议用 ext4 版本,尤其是 x86-64-combined-ext4.img.gz。嵌入式/只追求稳定可刷/空间极小再选 squashfs。
B. combined/ext4-combined.img.gz
combined
- 指 boot 分区和 rootfs 合成在一起,一个镜像刷到硬盘/U盘即可直接启动,不用再分区或者拼盘。
- 几乎所有 x86 装机都用 combined 版本,极大简化操作,写盘即用。
- 适合全新装机、U盘启动、SSD启动。
C. uefi-gpt
uefi-gpt-combined-ext4.img.gz
- 镜像带有UEFI 启动支持(主板新,一般2015年后出的主板、ITX主板、笔记本等都支持 UEFI)。
- 同时采用 GPT 分区表(相比于老的 MBR 分区更现代,支持大硬盘和多个分区)。
- 适合只支持 UEFI 启动的设备,如果你主板 BIOS 设置里找不到“Legacy”模式,只能 UEFI,那一定要用 uefi-gpt 版。
- 老主板如果不支持 UEFI,则不能用 uefi-gpt 版。
D. vmdk
vmdk.img.gz
- 专门为虚拟机(VMware/VirtualBox)设计的镜像格式,可以直接挂载当虚拟硬盘用。
- 一般虚拟化环境直接选这个,省去了转格式的麻烦。
- 如果你只是物理机、软路由、实物硬盘/U盘,不用选 vmdk。
E. generic(有时会见到)
比如 openwrt-24.10.0-x86-64-generic-squashfs-combined.img.gz
- 说明这镜像为通用硬件(非特定硬件优化),搭配不同文件系统(如 squashfs),和“64”目录对应。
- 通常下载 combined-ext4 或 combined-squashfs 就行,generic 其实是固件编译架构里的“通用”版本,不影响刷机。
3. 典型文件列表解释(举例)
| 文件名 | 主要含义 | 适用场景 | | openwrt-x86-64-combined-ext4.img.gz | 64位,MBR分区,boot+root合一,ext4系统,物理机首选 | 物理软路由/U盘/SSD | | openwrt-x86-64-uefi-gpt-combined-ext4.img.gz | 64位,UEFI启动,GPT分区,ext4系统,boot+root合一 | 只支持UEFI的新主板/笔记本 | | openwrt-x86-64-combined-squashfs.img.gz | 64位,MBR分区,squashfs只读系统 | 空间特别小的设备、嵌入式 | | openwrt-x86-64-vmdk.img.gz | 64位,虚拟机专用硬盘格式 | VMware/VirtualBox | | openwrt-x86-generic-combined-ext4.img.gz | 32位通用CPU用,ext4系统 | 老古董32位设备 | | openwrt-x86-64-rootfs.tar.gz | 根文件系统打包,不是img,高手用来自定义制作镜像 | 二次开发 |
4. 如何选择?简单决策树
openwrt-x86-64-combined-ext4.img.gz
openwrt-x86-64-uefi-gpt-combined-ext4.img.gz
openwrt-x86-64-vmdk.img.gz
openwrt-x86-64-combined-squashfs.img.gz
openwrt-x86-generic-combined-ext4.img.gz
5. 额外说明
- img.gz 格式一般需要解压后用 DD 或 Rufus/BalenaEtcher 写入硬盘/U盘。
- vmdk 格式直接在虚拟机里加载就行。
- 如果不确定主板支持什么启动方式,可以先用 ext4-mbr 版本,失败再试 uefi-gpt。
- 不要用 rootfs.tar.gz,新手用不上。
6. 总结一句话不知道参数什么意思的时候就选openwrt-x86-64-combined-ext4.img.gz就好了
|