官网固件地址:
https://firmware-selector.openwrt.org/
SquashFS 格式拥有overlay 文件层,在拥有固件编译能力后是个很好的方案,来保证操作失误后可以恢复到初始状态。
ext4 格式并没有overlay ,但是可以使用PVE的快照系统来进行管理。
固件类型 | 描述 | 文件系统格式 | 可读写 | 用途 |
---|---|---|---|---|
combined-efi (ext4) | 包含 EFI 引导分区和 Linux 系统文件的合并镜像,通常用于 UEFI 启动。 | ext4 | 可读写 | 用于 UEFI 引导系统,通常是启动盘或设备固件的一部分 |
combined (ext4) | 包含操作系统文件和必要的应用程序,通常用于包含整个操作系统的镜像。 | ext4 | 可读写 | 用于完整的操作系统映像,支持读写操作,适用于硬盘或虚拟机。 |
rootfs (ext4) | 根文件系统镜像,包含操作系统的根文件系统和应用程序,通常作为操作系统的主要部分。 | ext4 | 可读写 | 用于根文件系统,操作系统启动后挂载的文件系统。 |
combined-efi (SquashFS) | 包含 EFI 引导分区和压缩的 Linux 系统文件,适用于需要节省空间的系统映像。 | SquashFS | 只读 | 用于需要压缩的引导分区镜像,常用于嵌入式设备或 Live 系统。 |
combined (SquashFS) | 包含操作系统文件和应用程序,经过压缩以节省存储空间,通常用于嵌入式系统和固件。 | SquashFS | 只读 | 用于嵌入式设备或固件映像,特别适用于存储空间有限的设备。 |
rootfs (SquashFS) | 根文件系统镜像,经过压缩以减少空间占用,常用于嵌入式设备或 Live 系统。 | SquashFS | 只读 | 用于嵌入式设备的根文件系统,压缩后只读,用于节省存储空间。 |
详细对比
1. combined-efi (ext4) 我选它
- 描述:这种镜像包括 EFI 引导分区和操作系统文件。通常用于基于 UEFI 启动的设备,它包含系统启动所需的引导文件和文件系统。
- 文件系统:使用 ext4 格式,可以读写数据。
- 用途:常用于启动设备(如启动盘、虚拟机),适用于需要 UEFI 启动的系统。
2. combined (ext4)
- 描述:这种镜像包含完整的操作系统文件和应用程序,使用 ext4 文件系统格式。适合用于硬盘、SSD 或虚拟机中运行的操作系统。
- 文件系统:使用 ext4 格式,支持读写操作。
- 用途:适用于提供完整操作系统环境的映像,例如虚拟机镜像或 Linux 安装镜像。
3. rootfs (ext4)
- 描述:根文件系统镜像,是操作系统的主要文件系统。包含系统的根目录
/
下的文件。 - 文件系统:使用 ext4 格式,支持读写操作。
- 用途:用于操作系统启动后挂载的根文件系统,支持系统运行时的文件读写。
4. combined-efi (SquashFS)
- 描述:这种镜像类似于
combined-efi(ext4)
,但它使用了 SquashFS 格式进行压缩。适用于嵌入式系统或需要压缩存储的系统映像。 - 文件系统:使用 SquashFS 格式,是一个只读文件系统,支持高效的压缩。
- 用途:常用于嵌入式设备(如路由器、物联网设备)或 Live 系统,特别是在存储空间有限的情况下。
5. combined (SquashFS)
- 描述:这种镜像包含了压缩的操作系统文件和应用程序,适合用于存储空间有限的设备。
- 文件系统:使用 SquashFS 格式,文件系统为只读,压缩效果显著。
- 用途:适用于嵌入式设备或固件映像,尤其是在存储空间有限的情况下,比如路由器、IoT 设备等。
6. rootfs (SquashFS)
- 描述:这种镜像是根文件系统,经过压缩后存储,通常用于嵌入式设备和需要节省存储空间的场景。
- 文件系统:使用 SquashFS 格式,是只读文件系统。
- 用途:用于根文件系统,适用于嵌入式设备、Live 系统等,需要高效压缩以节省存储空间。
总结
- ext4 文件系统:适用于需要读写操作的设备,通常用于硬盘、SSD 和大多数 Linux 系统。
- SquashFS 文件系统:主要用于只读文件系统,适用于嵌入式设备和压缩存储,节省空间。
在选择文件系统时,关键因素通常是 是否需要读写操作 以及 存储空间的需求。对于需要高压缩的只读映像,SquashFS 是更优选择;而需要进行频繁读写的设备则通常使用 ext4 文件系统。
combined (ext4)
vs rootfs (ext4)
vs combined-efi (ext4)
这三种类型的镜像固件在 PVE 和 ESXi 中的区别主要体现在它们的用途、结构和引导方式上。以下是它们的详细对比。
1. combined (ext4)
- 用途:包含完整操作系统和根文件系统(
/
)的镜像格式,不包含 EFI 引导分区。 - 文件系统:使用 ext4 文件系统,支持读写操作。
- 结构:包含操作系统的根文件系统(
/
)以及用户数据目录,不包含专门的 EFI 分区,采用传统的 BIOS 引导方式。 - 适用场景:
- 适用于需要传统 BIOS 引导的系统。
- 大多数普通 Linux 系统安装,尤其是 PVE 或 ESXi 环境中的虚拟机。
- 优点:
- 包含完整的操作系统文件,适合普通的虚拟机使用。
- 缺点:
- 不支持 UEFI 引导,仅支持传统 BIOS 引导。
2. rootfs (ext4)
- 用途:仅包含操作系统的根文件系统(
/
),不包含引导程序或 EFI 分区。 - 文件系统:使用 ext4 文件系统,支持读写操作。
- 结构:只包含根文件系统,适合用于已有引导程序或外部引导的系统环境。
- 适用场景:
- 用于已经有引导分区或通过其他方式处理引导的系统。
- 适用于嵌入式设备或定制化的系统。
- 优点:
- 仅包含根文件系统,适合需要定制系统的环境。
- 缺点:
- 需要外部引导程序或分区来启动,不适用于缺少外部引导支持的环境。
3. combined-efi (ext4)
- 用途:包含操作系统根文件系统(
/
)和 EFI 引导分区,支持 UEFI 引导。 - 文件系统:使用 ext4 文件系统,支持读写操作。
- 结构:包括一个用于 UEFI 引导的 EFI 分区,以及根文件系统。适用于需要 UEFI 引导支持的系统。
- 适用场景:
- 适用于需要 UEFI 引导支持的系统,通常是较新的硬件或虚拟机。
- 如果虚拟机或硬件环境要求通过 UEFI 引导来启动系统,则选择此类型。
- 优点:
- 支持 UEFI 引导,适合现代硬件和虚拟化环境。
- 包含完整的引导分区,便于启动和管理操作系统。
- 缺点:
- 需要支持 UEFI 引导的硬件或虚拟化环境,配置相对复杂。
对比表格
特点 | combined (ext4) | rootfs (ext4) | combined-efi (ext4) |
---|---|---|---|
包含内容 | 根文件系统,完整操作系统 | 仅包含根文件系统 | 根文件系统 + EFI 引导分区 |
引导支持 | 支持传统的 BIOS 引导方式 | 无引导分区,依赖外部引导程序 | 支持 UEFI 引导方式 |
适用场景 | 传统 Linux 系统,标准虚拟机,传统硬件或虚拟化环境 | 已有引导分区,嵌入式设备、定制系统 | 需要 UEFI 引导支持的环境,如新型硬件或虚拟机 |
文件系统 | ext4 | ext4 | ext4 |
优点 | 完整的操作系统,支持常规文件操作,适合大多数虚拟机 | 适用于定制化系统,仅包含文件系统 | 支持 UEFI,引导方式现代化,适合新硬件或需要 UEFI 启动的系统 |
缺点 | 不支持 UEFI 引导 | 不包含引导程序,需要外部引导设备 | 需要 UEFI 支持的硬件,配置较为复杂 |
选择指南
-
选择
combined (ext4)
:- 如果你需要一个完整的 Linux 系统映像,并且引导方式是传统的 BIOS。
- 用于一般的虚拟化环境,尤其是对硬件引导不要求 UEFI 的情况。
-
选择
rootfs (ext4)
:- 如果你只需要操作系统的根文件系统,而引导已通过其他方式处理(如在已有引导分区或使用特定引导程序的环境中)。
-
选择
combined-efi (ext4)
:- 如果你需要支持 UEFI 引导的操作系统映像。
- 适用于现代硬件或虚拟化平台,特别是当你需要更大磁盘支持、更快启动和其他 UEFI 特性时。