ImmortalWrt x86-64 固件选择与虚拟机部署指南
ImmortalWrt x86-64 固件选择与虚拟机部署指南
1. 确认适用架构
本文场景:在 x86-64 平台上通过虚拟机运行 ImmortalWrt,并使用 OpenClash 等网络插件。
x86-64 架构(如 Intel 和 AMD 的现代处理器)应进入 ImmortalWrt 官方的 x86/64 目录:
https://downloads.immortalwrt.org/releases/25.12.2/targets/x86/64/
不需要选择 ARM、MediaTek、Rockchip 等路由器专用平台。这些目录面向不同的 CPU 指令集、SoC 或设备平台,固件不能随意混用。
2. 看懂固件文件名
以以下文件名为例:
immortalwrt-25.12.2-x86-64-generic-ext4-combined-efi.qcow2.gz
| 字段 | 含义 |
|---|---|
25.12.2 |
ImmortalWrt 版本 |
x86-64 |
64 位 x86 架构 |
generic |
通用 x86 目标 |
ext4 |
根文件系统类型 |
combined |
完整磁盘镜像,包含系统启动所需的磁盘布局、内核和根文件系统 |
efi |
面向 UEFI 启动 |
qcow2 |
QEMU/KVM 常用的虚拟磁盘格式 |
gz |
gzip 压缩,需要解压后得到内部文件 |
选择固件时,可以按这个顺序判断:
架构 → 文件系统 → 镜像完整性 → 启动方式 → 磁盘格式 → 是否需要解压。
3. ext4 和 SquashFS 怎么选?
两者都可以安装软件、修改配置,主要区别是根文件系统的组织方式。
ext4
- 根文件系统通常可直接写入。
- 系统文件管理方式直观,适合希望直接管理系统文件的用户。
- 对需要安装插件、调整配置的虚拟软路由来说,是一个简单易懂的选择。
SquashFS
- 底层系统文件系统是只读的。
- OpenWrt 通常通过可写覆盖层保存配置变更和新增软件。
- 具有压缩、节省存储空间和保护只读基础系统等特点。
SquashFS 的”只读”不代表系统不能修改配置或安装软件。无论选择哪种文件系统,升级固件前都应备份配置;升级后软件和配置的保留情况取决于具体升级方式。
建议: 如果希望直接管理可写根文件系统,可优先考虑 ext4;如果更喜欢 OpenWrt 传统的只读基础系统与覆盖层机制,也可以选择 SquashFS。文件系统类型本身不决定系统一定更稳定。
4. combined、rootfs、ISO 有什么区别?
| 文件类型 | 用途 | 一般虚拟机部署是否优先 |
|---|---|---|
combined |
完整磁盘镜像,包含系统启动所需的磁盘布局 | 是 |
rootfs |
只有根文件系统,通常用于手动部署、构建或特定升级流程 | 否 |
iso |
可启动的安装介质,可挂载到虚拟机光驱 | 取决于安装流程 |
普通虚拟机部署通常优先选择 combined 镜像,避免误选只有根文件系统的 rootfs 文件。
5. 常见磁盘格式与压缩后缀
| 后缀 | 说明 |
|---|---|
.qcow2 |
QEMU/KVM 虚拟磁盘格式 |
.img |
原始磁盘镜像,常用于写盘或由虚拟化平台导入 |
.vmdk |
VMware 常用虚拟磁盘格式 |
.vdi |
VirtualBox 常用虚拟磁盘格式 |
.vhdx |
Hyper-V 常用虚拟磁盘格式 |
.iso |
可启动的安装介质 |
.gz |
gzip 压缩文件;例如 .qcow2.gz 通常需要先解压成 .qcow2 |
.tar.gz |
压缩的文件归档;rootfs.tar.gz 通常不是完整虚拟磁盘 |
虚拟机管理器支持某种文件格式,只代表它可以接受该格式,并不保证所有镜像的分区布局和启动模式都能自动适配。应以虚拟机管理器实际支持的导入流程为准。
6. KVM/QEMU 虚拟机参数建议
针对 x86-64 平台上运行 ImmortalWrt 的轻量软路由场景,可以先使用以下配置作为测试起点:
| 设置项 | 建议值 | 说明 |
|---|---|---|
| 主板类型 | Q35 | 现代虚拟芯片组,提供 PCIe;i440fx 也可能适用,不必为了路由功能强行更换 |
| 启动固件 | UEFI | 选择 combined-efi 镜像时使用;镜像与虚拟机启动模式必须匹配 |
| CPU 类型 | 硬件虚拟化 | 若该选项代表 KVM 硬件加速,优先选择 |
| CPU 核数 | 2 核 | 先满足普通路由、DNS 与 OpenClash 需求,再按负载调整 |
| 内存 | 1 GB | 作为起步配置;插件和规则较多时可观察内存使用情况后增加 |
| 显示类型 | VGA | 以兼容性为优先;ImmortalWrt 主要通过网页管理,不需要图形加速 |
| VNC 剪贴板 | 关闭或默认 | 通常不影响路由功能 |
| 虚拟磁盘控制器 | VirtIO Block | 单系统盘场景可优先尝试;若启动后无法识别磁盘,再检查驱动和兼容性 |
| 虚拟网卡 | VirtIO | 先确认镜像支持相应驱动,并核对 WAN/LAN 与网桥的映射 |
| 磁盘容量 | 4–8 GB 起步 | 基础系统与常用插件通常可从此范围测试;大量插件需要更多空间 |
上述配置是建议起点,不是保证稳定的唯一组合。Q35 与 i440fx 是虚拟芯片组选择,UEFI/Legacy BIOS 是启动固件选择,两者是不同设置。
VirtIO Block、VirtIO SCSI、SATA 怎么选?
- VirtIO Block: 半虚拟化块设备,适合单块系统盘,可作为首选。
- VirtIO SCSI: 半虚拟化 SCSI 控制器,适合需要 SCSI 功能或管理多块磁盘的场景。
- SATA: 模拟传统 SATA 设备,兼容性通常较广,可作为排查兼容性问题时的备选。
虚拟磁盘控制器与镜像格式是两个不同概念。例如,QCOW2 是镜像格式,VirtIO Block 是虚拟机向操作系统呈现磁盘的方式,两者可以搭配使用。
7. 针对本场景的推荐组合
若虚拟机平台支持导入 QCOW2,且虚拟机使用 UEFI,可优先考虑:
generic-ext4-combined-efi.qcow2.gz
使用前先解压成 .qcow2,再按虚拟机管理器的导入流程创建虚拟机。
如果更倾向 SquashFS,也可以考虑目录中对应的 generic-squashfs-combined-efi.qcow2;它若未带 .gz,就不需要额外解压。
如果选择 generic-ext4-combined-efi.img.gz,则应确认虚拟化平台支持导入或转换该 IMG 镜像。若使用 ISO 安装方式,则选择与虚拟机启动固件匹配的 EFI ISO。
8. 安装前检查清单
- 确认下载目录为
x86/64。 - 确认选择的是
combined完整磁盘镜像,而非rootfs。 - 确认
efi与虚拟机 UEFI 设置匹配。 - 确认压缩文件已按要求解压。
- 备份现有 ImmortalWrt 配置和原虚拟机磁盘。
- 新建测试虚拟机,确认系统能够启动、识别磁盘和网卡。
- 测试 LAN/WAN 映射、OpenClash、重启和配置持久化后,再考虑替换原实例。
官方固件目录:
https://downloads.immortalwrt.org/releases/25.12.2/targets/x86/64/
参考资料:
- OpenWrt 文件系统说明:https://openwrt.org/docs/techref/filesystems
- OpenWrt 磁盘布局说明:https://openwrt.org/docs/techref/flash.layout