PVE环境安装immortalwrt

下载固件

下载地址:https://downloads.immortalwrt.org

截止到 2026-04-10,最新版本是 24.10.5

进入下载页面,选择对应的固件信息,由于是 cpu 是 x86_64,所以选择 x86_64 的版本,对应的目录是 releases/24.10.5/targets/x86/64/,接下来会出现 ext4squashfs区别,前者方便扩展用户分区,后者可以一键重置系统,本次选择后者。

后缀选择 img 格式的镜像

本次下载的是 generic-squashfs-combined-efi.img.gz

下载之后,进行解压,得到 immortalwrt-24.10.5-x86-64-generic-squashfs-combined-efi

打开 PVE 后台,点击 local ,选择 ISO 镜像,上传刚才解压的镜像。

创建虚拟机

进入 PVE,右上角新建虚拟机

在创建虚拟机页面填入虚拟机名称,勾选高级,选择开机自启动选项,随后下一步

勾选不适用任何介质安装,点击下一步,因为我们下载的 img 镜像其实内部已经安装有系统了,并不需要 CD 等介质来安装,只需要把 img 镜像转换为磁盘挂载给虚拟机就行。

系统界面将机型改为q35,勾选Qemu代理,控制器保持VirtIO SCSI single不变,如果你之前下载的是 efi 后缀的镜像务必将 BIOS 改为UEFI启动方式,不带就使用SeaBIOS传统启动,EFI 磁盘默认是没有的,EFI 存储中要手动选择local-lvm分区。

image-20260410135301045

磁盘中直接删除磁盘,我们下载的镜像中已经包含有操作系统,镜像即是数据盘也是引导盘,因此不需要额外的数据盘。

image-20260410135423700

CPU 中核心数量根据你的 CPU线程数量选择,例如使用 N5305,这是个四核四线程处理器,则可以分配 4 核心给 ImmortalWrt 虚拟机,如果是 4 核心 8 线程的处理器,则可以分配 8 核心给虚拟机,但是一般没必要,分四个核心就行了。类别选择host,CPU 权重酌情增加,数字越大能越优先使用 CPU 资源。理论上路由器的 CPU 资源是不会一直吃满的,所以设置看上把 CPU 资源全分给了 ImmortalWrt,但是其实在运行过程中是有相当一部分资源空闲的,除非你小马拉大车用 J1900 这种过时的 CPU 跑各种加解密计算把 CPU 全时段占满,不然性能高一些的 CPU 完全可以 1 线程当 2-3 个核心来用

image-20260410135531674

内存给256MiB 就行,内存如果没有那么紧张把Ballooning设备关了。如果你的内存资源非常吃紧,可以开启该选项把内存调成动态的,最小内存设置为256MiB,让其按需申请

image-20260410135719673

网络设备一般建议直通,不过现在的低功耗 CPU 跑 VirtIO 的网卡也没什么压力,看个人选择。

我个人设置是有一个口加入了vmbr0的网桥,该口平常是不连线缆的,除非 ImmortalWrt 故障导致 PVE 平台失联我才会连接线缆直连进 PVE 排障,因此网络规划就是一台 ImmortalWrt 同时拥有三张直通网卡和一个桥接在虚拟网桥 vmbr0 的虚拟网卡。

在这样的规划下我们应当保留网络中桥接vmbr0的配置,并点击下一步,如果你不想要桥接网卡,那请勾选无网络设备。

image-20260410135815014

最终确认完成后,我们便得到了一台没有硬盘且只有一张桥接网卡的虚拟机,此时我们应当进行引导盘的设置和直通网卡配置。

往虚拟机中添加磁盘

往虚拟机中添加磁盘需要依赖 PVE 本身的Shell功能,点击你的 PVE 节点名称,再选择 PVE 本身的Shell

image-20260410135918448

通过以下命令导入硬盘镜像到虚拟机中,其中 107 请替换为自己的虚拟机编号,镜像名称需要根据你上传的来,不确定可以使用ls -l /var/lib/vz/template/iso/来确认,local-lvm是让你存虚拟机的分区,如果你没有这个分区,那就是local分区,因为 PVE 在默认安装下是有这个分区的,如果没有可能是你的磁盘太小了只能容纳一个local分区或者你安装的时候更改了磁盘分区方式。

1
qm disk import 102 /var/lib/vz/template/iso/immortalwrt-24.10.5-x86-64-generic-squashfs-combined-efi.img local-lvm

回到虚拟机配置页面,选择硬件,此时我们会发现有一个未使用的磁盘存在,我们双击该磁盘使用默认状态添加即可。

image-20260410140359772

image-20260410140514117

磁盘扩容

默认情况下,ImmortalWrt 官方的镜像只有 300MiB 空间,大部分情况下是够用的,但是如果需要留存点东西就比较麻烦了,我个人是建议在磁盘空余的情况下扩容 2GiB 存储。

选中刚刚添加的磁盘,点击磁盘操作,选择调整大小,增量大小填入2后点击调整磁盘大小

image-20260410140651942

但此时分区并未扩容,因为这只是增加了虚拟磁盘的大小,而分区的大小未改变,因此我们在进入系统后需要进行二次更改。

选择启动项

默认情况下,OpenWrt 虚拟机不会从我们添加的镜像启动,如果此时开启虚拟机会无法找到启动项进入 PXE 模式。

选择虚拟机名称-选项-引导顺序

勾选scsi0,并拖动至第一顺位,并取消勾选net0网络启动和ide2 CD 启动,即可成功设置启动项。切记一定要取消net0启动项,因为 PVE8 默认需要安全启动,而 OpenWrt 的镜像是无法安全启动的,不取消网络启动后续可能因为安全启动失败回落至网络启动无法进入系统。

image-20260410140815875

启动虚拟机

右键虚拟机选择启动或者右上角点击启动选项开启虚拟机。

image-20260410140917147

点击控制台,查看启动情况,如果出现 No bootable option or ddevice was found,按下任意键,关闭安全启动

image-20260410141111320

进入 Device Manager

image-20260410150133388

进入 Secure Boot Configuration

image-20260410161638887

按下空格键,取消勾选

image-20260410141221116

修改完成后,随后一路按Esc键退出到Boot Manager首页,选择Continue并回车。

image-20260410162704038

然后等待进入系统

image-20260410163153874

修改 IP 地址

1
vi /etc/config/netwrok

修改 lan 部分

重启网络服务

1
/etc/init.d/network restart

更换源

1
2
3
4
# 一键修改
sed -e 's,https://downloads.immortalwrt.org,https://mirrors.cernet.edu.cn/immortalwrt,g' \
    -e 's,https://mirrors.vsean.net/openwrt,https://mirrors.cernet.edu.cn/immortalwrt,g' \
    -i.bak /etc/opkg/distfeeds.conf

磁盘扩容

参考:# 基于 efi 启动的 squashfs 格式的 immortalwrt/或 openwrt 软路由系统 overlay 空间扩容

Apr 10, 2026 08:58 +0800
页面浏览量Loading
网站总访客数:Loading
网站总访问量:Loading

-->