这篇接着讲已经装好 PVE 的机器:创建一台 iStoreOS 虚拟机,导入系统盘,再接入现有局域网。PVE 本身的安装、网卡直通和 VLAN 单线复用不在本文范围内。
先用一张 LAN 网卡把系统跑起来,但首次启动时暂时断开它,避免新系统的地址服务影响现有网络。准备做旁路由的,不需要再加 WAN;准备接管全家网络的,等管理界面和网络都确认正常,再添加独立 WAN 网卡。
本文操作截图的画面主要是 PVE 7.2 与 iStoreOS 21.02。新版选项的位置可能不同,截图用于找入口,配置值以正文为准。网络与磁盘结构图是配置示意,不是软件截图。
开始前先留好退路
你需要一台已经能正常访问管理后台的 x86-64 PVE 主机、一个空闲 VM ID,以及可存放虚拟机磁盘的存储。本文沿用 104 作为 VM ID,用 local-lvm 举例;你自己的编号和存储名称不一定相同。
第一次安装时先不要动现有主路由,也不要直接改 PVE 管理网桥。准备好本地显示器、键盘或其他可用的控制台,避免改完网络就连不上宿主机。如果准备替换已有路由虚拟机,先备份它和现有网络配置。
下面的旁路由示例使用同一个 IPv4 局域网:
| 设备 | 示例地址 | 说明 |
|---|---|---|
| 现有主路由 | 192.168.2.1/24 | 暂时继续负责上网和 DHCP |
| 新建 iStoreOS | 192.168.2.2/24 | 确认地址空闲,并从 DHCP 地址池排除 |
| PVE 管理地址 | 192.168.2.88/24 | 初期保持原来的地址和网关 |
| 测试电脑 | 192.168.2.120/24 | 先只用这一台测试旁路由 |
这些数字只是例子。你的局域网如果是 192.168.1.0/24,就按自己的网段重新规划。不要把示例地址直接填进正在使用的网络。
下载固件并选对启动方式
iStoreOS 的 x86-64 镜像有两种常见入口:
- UEFI 固件目录:文件名包含
combined-efi.img.gz。 - 传统 BIOS 固件目录:对应不带 EFI 的镜像。
本次查看 UEFI 目录时,最新条目是 istoreos-25.12.5-2026092410-x86-64-squashfs-combined-efi.img.gz。下文以它演示文件名,之后下载到其他版本时,替换成实际文件名即可,不要照抄过时镜像的文件名。
镜像和虚拟机固件要配套:UEFI 镜像选择 OVMF (UEFI);传统 BIOS 镜像选择 SeaBIOS。压缩包可以先原样传到 PVE,但本文用 PVE 原生命令导入磁盘,需要先在宿主机上解压出 .img。
创建虚拟机
名称和操作系统
在 PVE 右上角点击“创建虚拟机”。

旧截图:PVE 创建虚拟机入口
选择所在节点,记下 VM ID,名称可以用 iStoreOS。截图中的 104 仅是示例;不要覆盖已有虚拟机。

旧截图:虚拟机 ID 与名称
操作系统页选择“不使用任何介质”,客户机类型选 Linux。这里不是用 ISO 安装,稍后会直接导入磁盘镜像。

旧截图:不使用安装介质
UEFI 和 EFI 磁盘
本文的 UEFI 镜像选择 OVMF (UEFI),添加 EFI 磁盘,并选择可用的虚拟机存储。按 iStoreOS 的 PVE 安装说明,取消“预注册密钥 / Pre-Enroll keys”。

旧截图:OVMF 与 EFI 存储,预注册密钥勾选状态不可照抄
注意:旧截图中的“预注册密钥”是勾选状态,这一点不要照抄。本例取消勾选,是为了按 iStoreOS 的安装要求配置这台虚拟机,不是要求关闭宿主机或其他虚拟机的安全设置。
EFI 磁盘和 iStoreOS 系统盘是两回事。EFI 磁盘保存 UEFI 变量等设置;系统盘才包含路由系统。UEFI 安装保留 EFI 磁盘,不要把它当成系统盘删掉。 PVE 对 EFI 磁盘用途的说明见 虚拟机管理手册。
如果用传统 BIOS 镜像,则选择 SeaBIOS,不需要为它添加 EFI 磁盘:

旧截图:传统 BIOS 的 SeaBIOS 选项
磁盘、CPU 和内存
创建向导里的普通空白硬盘先去掉。稍后要导入的是已经带系统的镜像,不需要另建一块空盘来安装。

旧截图:移除向导中的空白磁盘
CPU 可以先分配 2 个虚拟核心,内存先留 2 GiB,再根据实际负载调整。这是本文的起步配置,不是官方最低要求,也不是性能保证。宿主机还要运行其他服务,不用一开始就把全部核心和内存分给路由系统。
单机使用可以考虑 CPU 类型 host;有跨不同 CPU 节点迁移需求时,先按集群的兼容策略选择 CPU 类型。下面旧图分配了 6 核,不必照搬。

旧截图:CPU 类型与核心分配
先接一张 LAN 网卡
选择连接现有局域网的网桥,模型选 VirtIO。本文假设 LAN 网桥叫 vmbr0;先到 PVE 节点的网络页面核对,不能仅凭这个名字就认定它是 LAN。

旧截图:LAN 网桥与 VirtIO 网卡
网桥可以理解成宿主机里的软件交换机,虚拟网卡接到哪个网桥,决定了它进入哪个网络。这个关系可对照 PVE 网络配置文档。如果原网络用了 VLAN 或防火墙规则,还要检查相应设置,不能全部默认。
首次启动前,打开这张虚拟网卡的高级选项,勾选“断开连接 / Disconnect”。创建向导里没找到的话,创建完成后到虚拟机“硬件 → 网络设备 → 编辑”中设置。旧截图没有展示这个高级选项;不要因此跳过。PVE 控制台不依赖虚拟机的网卡连接,断网时仍能进入系统改配置。
确认配置,创建完成后先保持虚拟机关机。

旧截图:新建虚拟机保持关机
导入系统盘
本文用 PVE 自带的 qm disk import,便于核对导入过程和目标存储。img2kvm 是另一种导入方式,不要在同一台虚拟机上重复执行两套流程。

配置示意:解压、导入、挂载系统盘与保留 EFI 磁盘
先核对编号和存储
通过 PVE 节点的 Shell 或 SSH 进入宿主机,确认目标虚拟机和存储:
qm list
pvesm status
下面的导入命令会向 VM 104 的 local-lvm 存储新增磁盘。运行前确认 VM 104 正是刚创建的那台,当前已关机;local-lvm 处于可用状态、支持虚拟机磁盘,并且有足够空间。存储叫其他名字,就替换命令最后的参数。
上传、检查并解压镜像
把下载的 .img.gz 文件传到 PVE 宿主机的 /root,可以用 WinSCP 或你熟悉的文件传输工具。这里说的是宿主机,不是 iStoreOS 虚拟机内部。
cd /root
gzip -t ./istoreos-25.12.5-2026092410-x86-64-squashfs-combined-efi.img.gz
gzip -dk ./istoreos-25.12.5-2026092410-x86-64-squashfs-combined-efi.img.gz
gzip -t 没有报错再继续;-k 保留压缩包。这个检查只验证压缩数据是否完整,不能代替来源验证。如果解压提示同名 .img 已存在,先核对已有文件,不要为了继续而直接强制覆盖。
导入到虚拟机存储
qm disk import 104 ./istoreos-25.12.5-2026092410-x86-64-squashfs-combined-efi.img local-lvm
qm config 104
PVE 会把镜像导入成虚拟机的“未使用的磁盘”。qm config 104 中应能看到对应的 unusedN 项,N 不一定是 0。qm importdisk 是这一命令的别名,参数说明见 PVE 的 qm 手册。
导入失败就停在这里看错误:先检查镜像路径、目标存储状态和空间。不要在报错后接着操作已有硬盘,更不要写入宿主机物理磁盘。
挂载磁盘并设置引导顺序
回到 VM 104 的“硬件”,找到刚导入的“未使用的磁盘”,双击添加。

旧截图:找到未使用的磁盘
本文使用 SCSI 总线,控制器选 VirtIO SCSI。旧图中显示的磁盘卷名不必相同,确认选中的是刚导入的镜像。

旧截图:以 SCSI 总线添加系统盘
添加后会出现普通硬盘,例如 scsi0;UEFI 配置还应保留 EFI 磁盘。

旧截图:系统盘与 EFI 磁盘同时存在
打开“选项 → 引导顺序”。

旧截图:引导顺序入口
启用并把系统盘放到第一位。以下截图使用 scsi0;如果你实际挂在其他总线,以真实设备名为准。

旧截图:系统盘放在引导顺序第一位
保存后再核对顺序。没有网络启动需求时,不必把 net0 留作启动项。

旧截图:保存后的引导顺序
现在硬件里应同时具备:正确的 BIOS、已挂载的系统盘、暂时断开连接的 LAN 网卡;UEFI 方案还包括 EFI 磁盘。确认后启动虚拟机。

旧截图:启动虚拟机入口
第一次启动和管理地址
打开虚拟机控制台,等待系统启动。不要把 PVE 任务显示“启动成功”当成系统已经完全可用,还要看控制台是否进入 iStoreOS。

旧截图:iStoreOS 控制台启动过程
进入命令行后运行:
quickstart
选择 Change LAN IP。截图里修改 LAN 地址的条目是 1;不同版本还可能调整排序,按名称选,不按数字猜。

旧截图:quickstart 中的 Change LAN IP
旁路由示例把 LAN 地址设为 192.168.2.2,子网掩码设为 255.255.255.0。先确认这个地址没有设备占用,也不在会被自动分配的 DHCP 池里。

旧截图:填写 LAN 地址与子网掩码
旧截图使用 192.168.2.100,它不是必须使用的地址。上面的输入页只是说明操作位置;实际填写你规划的地址和掩码。
保存后退出菜单,暂时不要接通虚拟网卡。

旧截图:保存 LAN 地址并退出
接入现有 LAN 前,先关闭临时地址服务
新系统如果向已有局域网发放 DHCP 地址,或者广播 IPv6 默认路由,可能让其他设备改走它。前面断开虚拟网卡,就是为了在接入之前处理这件事。
下面的命令在 iStoreOS 虚拟机的控制台 执行,不是在 PVE 宿主机的 Shell。先查看配置:
uci show dhcp.lan
确认能看到 dhcp.lan=dhcp,且这一节的 interface 是 lan,再执行下列设置。它们只关闭新虚拟机 LAN 上的地址发放与相关 IPv6 通告,不会关闭主路由的 DHCP,也不是停止整个 DNS 服务。配置项可对照 OpenWrt 的 odhcpd 说明和 dnsmasq 启动脚本。
如果找不到这一配置节,或者接口名称不一致,先不要套用命令,也不要接入现有 LAN;改用独立测试网络进入管理页,核对实际配置。
uci set dhcp.lan.ignore='1'
uci set dhcp.lan.dhcpv4='disabled'
uci set dhcp.lan.ra='disabled'
uci set dhcp.lan.dhcpv6='disabled'
uci set dhcp.lan.ndp='disabled'
uci commit dhcp
reboot

旧截图:重启虚拟机
等待系统重启完成,再回到 PVE 的虚拟机网卡设置,取消“断开连接”。电脑接在同一 LAN 后,用浏览器访问新地址,例如 http://192.168.2.2/。如果电脑处于别的网段,先检查它接入的网络,不要为了访问页面去盲改 PVE 管理地址。

旧截图:iStoreOS Web 登录页
官方安装文档列出的默认登录密码是 password;若当前镜像提示先设置密码,则按实际界面操作。登录后立即更换默认密码,PVE 和路由器管理页面都不要直接暴露到公网。
接入现有网络
打开 iStoreOS 的“网络向导”。下面是旧版入口,新版名称或布局可能有变化。

旧截图:iStoreOS 网络向导
旁路由先只测试一台设备
第一次部署,先保留现有主路由。PVE、iStoreOS 和电脑都在同一 LAN,iStoreOS 通过原主路由上网。

配置示意:现有主路由与 iStoreOS 旁路由
按前面的示例,iStoreOS 的 LAN 是 192.168.2.2/24,上游网关是主路由 192.168.2.1,DNS 也要配置为可用的解析服务。通过“配置为旁路由”向导完成后,再核对结果。
先不要让两个路由器各自向整个 LAN 发放 DHCP。本例仍由主路由提供 DHCP,iStoreOS 的 LAN DHCP 关闭;以后如果改由 iStoreOS 发放,就同步关闭主路由的 DHCP,避免互相争抢。iStoreOS 常见问题也提醒了多 DHCP 与旁路由网关、DNS 配置的问题。
先让一台测试电脑的 IPv4 网关指向 192.168.2.2,并按你的解析方案设置 DNS。如果由 iStoreOS 提供 DNS 转发,可以把它作为测试电脑的 DNS。确认能打开网页、正常解析域名,而且 PVE 管理页面仍能访问,再决定是否调整主路由的 DHCP 下发项。
只把 iStoreOS 接到交换机,并不会让全家的设备自动经过它。其他设备的网关仍指向原主路由时,默认 IPv4 出站流量还是直接走原主路由。这里的测试也只针对 IPv4;网络启用了 IPv6 时,要另外核对 IPv6 路由与 DNS,不要把 IPv4 的结果当成所有流量的结果。
PVE 的管理网关在初期可以继续指向原主路由,不必为了“用上旁路由”一起改掉。失败时把测试电脑的网关和 DNS 恢复即可,不影响全家网络。
主路由要把 WAN 与 LAN 分开
如果 iStoreOS 要负责拨号或连接上级网络,就需要独立的 WAN 与 LAN。本文讲双网口、双网桥的例子,不讲单线 VLAN 复用。

配置示意:WAN 和 LAN 使用两个独立网桥
在这个例子里:
vmbr0连接物理 LAN 口,PVE 管理地址仍是192.168.2.88/24,iStoreOS 的 LAN 是192.168.2.1/24。vmbr1连接另一张、面向上游的物理网卡,仅承载 WAN;本例不在它上面设置 PVE 管理 IP 或默认网关。- iStoreOS 的两张虚拟网卡分别接这两个网桥,在系统里根据 MAC 地址确认哪个是 LAN、哪个是 WAN。
这些角色取决于实际接线和网桥配置,vmbr0、vmbr1 的名字本身没有 LAN/WAN 含义。不要把 WAN 和 LAN 同时接入同一个未隔离的二层网桥。
关机后,在 PVE 虚拟机“硬件 → 添加 → 网络设备”里增加接入 WAN 网桥的网卡。

旧截图:添加接入 WAN 网桥的虚拟网卡
启动后按实际情况配置 PPPoE、DHCP 或静态 WAN。WAN 和 LAN 使用不同子网;示意图的上级网络是 192.168.1.0/24,LAN 是 192.168.2.0/24,实际地址仍按你自己的网络调整。
同一 LAN 里的旧主路由如果改做无线 AP,就不要继续发放独立的路由配置和 DHCP。先确认 iStoreOS 能正常上网,再安排切换,避免两个设备占用同一个 192.168.2.1。
首次启动时我们关闭了 iStoreOS 的 LAN 地址服务。真正切换为主路由后,确认旧 DHCP 已停用、LAN 接线正确,再在 iStoreOS 管理界面启用 LAN 的 DHCP 服务并设置地址池。否则终端不会因为换了主路由就自动获得地址。IPv6 是否启用以及怎样下发,需要按上游网络另行配置,本文的 IPv4 示例没有完成这部分。
主路由就绪后,PVE 如需经它上网,默认网关才指向其 LAN 地址 192.168.2.1。这会让宿主机的互联网连接依赖这台路由虚拟机,先验证再调整,并保留本地管理路径。
iStoreOS 的 IP 不需要比 PVE 的 IP 小。决定连通的是子网、网关、路由和实际连接,不是 IP 尾数大小。192.168.2.1 与 192.168.2.88 是一个常见规划,不是大小排序规则。
出问题时按这一层层查
| 现象 | 先检查什么 |
|---|---|
| 停在 UEFI Shell 或提示没有启动设备 | 镜像是否与 BIOS 匹配;系统盘是否已挂载;是否启用并放在引导顺序第一位 |
| 提示 Secure Boot 验证失败 | 核对这台虚拟机的预注册密钥和 Secure Boot 设置,不要去关闭整个宿主机的安全保护 |
| 系统启动了,管理页打不开 | 用控制台核对 LAN 地址、掩码和网卡;电脑是否在正确 LAN;网桥、VLAN、防火墙是否阻断访问;地址是否冲突 |
| 能进管理页,但不能上网 | 先检查 iStoreOS 自己的网关、WAN 状态和 DNS,再检查测试电脑的网关和 DNS |
| 设备有时能上网、有时不能 | 检查地址冲突,以及是否有两个未协调的 DHCP 服务同时给同一 LAN 发地址 |
| 改成主路由后 PVE 不通 | 先从本地控制台检查管理网桥和默认网关;不要远程反复试改网桥,更不要删虚拟机来碰运气 |
旁路由测试失败,先恢复测试电脑的网关和 DNS。主路由切换失败,优先恢复原来的主路由和接线;系统可用后,再分别检查虚拟机与网络,不要把两个问题混在一起。
装好以后再做的事
先备份 iStoreOS 配置,再在 PVE 给虚拟机做完整备份。EFI 磁盘、系统盘和虚拟机配置都要跟着保存。是否支持快照取决于实际存储,不能把一次快照当作独立备份。
如果要运行 Docker 或大量下载任务,先规划独立数据盘,不要直接把数据堆进系统根分区。插件更新也不等于系统升级,不要随手执行全量软件包升级;具体注意事项参见 iStoreOS 常见问题。
确认启动、管理页和网络都正常以后,再考虑开机自启动,以及其他服务的启动顺序。主路由虚拟机承担全家网络时,这一步尤其要单独检查。
参考与适用范围
安装流程参考 iStoreOS PVE 安装文档。
本文涵盖 EFI 磁盘、菜单选择和 IP 地址关系,以及原生命令导入、存储核对、首次启动隔离、网络示意与恢复路径。截图中的旧版本号、地址和卷名不代表这版教程的配置值。本文依据官方文档与配置说明,未在真实 PVE 主机上完成全流程部署测试。
可继续查阅 PVE 虚拟机管理手册、PVE 网络配置说明和 iStoreOS 常见问题。