当前位置: 首页 > news >正文

PVE 部署 iStoreOS 软路由完整教程(避坑版)

一、前言


iStoreOS 是一款面向家庭和小型办公场景的开源软路由系统,基于 OpenWrt 深度优化,拥有简洁的 Web 管理界面和丰富的插件生态。本文将详细介绍如何在 Proxmox VE(PVE)虚拟化环境中,通过磁盘镜像直接导入的方式部署 iStoreOS,彻底规避传统光驱引导的兼容性问题,实现一次部署成功。


二、前期准备


2.1 环境要求


已部署好的 Proxmox VE 节点(本文以 PVE 8.x 为例)
硬件至少 2 核 CPU、2GB 内存、20GB 以上 SSD 存储空间
网络桥接正常(默认 vmbr0)


2.2 下载 iStoreOS 镜像

方法一:下载到本地上传,手动上传

下载

地址:https://fw.koolcenter.com/iStoreOS/

直接下载到E盘根目录,改个简短的名字

上传到PVE

在 PowerShell 里运行如下命令

scp E:\istoreos-efi.img.gz root@192.168.3.111:/var/lib/vz/template/iso/

注:

  • Windows OpenSSH 不支持中文、空格路径
  • E:\istoreos-efi.img.gz 为镜像的本地地址
  • 192.168.3.111 为PVE的地址
  • 提示 root@192.168.3.111's password: 时,输入你的 PVE root 密码(输入时屏幕不显示,正常输完回车)
  • /var/lib/vz/template/iso/是要上传到的PVE的目录
查看是否上传成功

直接在 PVE Shell 里输入下面这行,查看文件到底传上去没有:如果看到 istoreos-efi.img.gz
说明已经上传成功了!

ls /var/lib/vz/template/iso/
解压

PVE 8 只会识别 .iso、.img 等后缀为 ISO 镜像,.img.gz 不会被自动识别,解压为img文件让PVE识别。

# 到上传目录 cd /var/lib/vz/template/iso/ # 解压 gunzip -k istoreos-efi.img.gz
  • gunzip -k:解压并保留原 .gz 文件
  • 解压后会得到 istoreos-efi.img

方法二:直接命令下载


在 PVE 节点的 Shell 中执行以下命令,下载并解压 iStoreOS 磁盘镜像:


到iso目录


# 进入 ISO 存储目录(PVE 默认 ISO 上传路径)

cd /var/lib/vz/template/iso/
下载

# 下载最新版 iStoreOS EFI 镜像(也可使用已有的 istoreos-efi.img)

wget https://download.istoreos.com/istoreos-24.04-x86-64-generic-squashfs-combined-efi.img.gz
解压

# 解压得到可直接启动的 .img 磁盘镜像

gunzip istoreos-24.04-x86-64-generic-squashfs-combined-efi.img.gz


若你已手动上传 istoreos-efi.img,可直接跳过下载步骤,确保镜像位于 /var/lib/vz/template/iso/ 目录下即可。

重启PVE并刷新

运行如下命令,然后 F5 刷新网页,去 local → ISO 镜像,你会看到 istoreos-efi.img 已经显示出来了!

systemctl restart pvedaemon pveproxy pvestatd


三、创建 istoreos虚拟机


登录 PVE 管理后台,点击「创建虚拟机」


常规选项卡:

  • 名称:istoreos(自定义)
  • VM ID:100(自定义,后续命令需对应)
  • 节点:选择你的 PVE 节点(这里是zilong)


操作系统选项卡:

  • 勾选「不使用任何介质」(后续直接导入磁盘镜像)
  • 类型:Linux
  • 版本:6.x - 2.6 Kernel

系统选项卡:

  • BIOS:SeaBIOS(兼容性最佳,避免 UEFI 引导失败问题)
  • 机型:i440fx
  • SCSI 控制器:VirtIO SCSI single

磁盘选项卡:

  • 创建一个空磁盘,大小设置为 20GB 以上(推荐 32GB)
  • 存储:选择 local-lvm(SSD 存储,性能更好)
  • 格式:原始磁盘映像 (raw)
  • 勾选「IO thread」(提升磁盘性能)

CPU选项卡:

  • 核心:2(根据物理 CPU 核心数调整)
  • 类别:host(直通 CPU 特性,性能最优)

内存选项卡:

  • 内存:2048 MiB(软路由基础需求,可按需调整)

网络选项卡:

  • 模型:VirtIO(半虚拟化网卡,性能最佳)
  • 桥接:vmbr0(PVE 默认网桥)

确认配置,点击「完成」创建虚拟机。


四、导入 iStoreOS 镜像为系统盘


4.1 执行磁盘导入命令


在 PVE 节点 Shell 中执行以下命令,将 iStoreOS 镜像导入为虚拟机磁盘:

# 格式:qm importdisk <VM ID> <镜像路径> <目标存储> qm importdisk 100 /var/lib/vz/template/iso/istoreos-efi.img local-lvm
  • 100:对应你创建的虚拟机 ID
  • local-lvm:对应虚拟机创建时选择的 SSD 存储
  • 等待命令执行完成,镜像将被导入为「未使用的磁盘」


4.2 挂载新磁盘


回到 PVE 管理后台,进入虚拟机 100 →「硬件」选项卡
找到「未使用的磁盘」,点击「编辑」
总线 / 设备选择:VirtIO Block,点击「添加」


4.3 替换启动磁盘


选中原来的空磁盘(如 scsi0),点击「分离」,确认分离操作
再次选中分离后的「未使用的磁盘」,点击「移除」,彻底删除空磁盘


进入「选项」选项卡 →「引导顺序」
将新导入的 virtio0 磁盘移至最顶部,设置为第一启动项,保存配置


五、启动并初始化 iStoreOS


5.1 启动虚拟机


点击「启动」按钮,启动虚拟机
点击「控制台」,打开虚拟机终端
等待系统启动,看到提示 iStoreOS is ready! Please press Enter to activate this console. 即启动完成


5.2 控制台登录与密码修改


按 Enter 激活控制台,输入默认账号密码:
用户名:root
密码:password
执行以下命令修改默认密码(务必修改,保障安全):

passwd


按提示输入新密码并确认,看到 passwd: password changed. 即修改成功。


5.3 查看管理 IP


执行以下命令查看 iStoreOS 的局域网 IP:

ip addr


找到 br-lan 接口,记录 IPv4 地址(示例:192.168.3.218/24)。


5.4 登录 Web 管理后台


打开浏览器,访问:

http://<你的iStoreOS-IP>

这里是

http://192.168.3.218

使用 root 账号和你刚设置的新密码登录,进入 iStoreOS 管理界面。


六、iStoreOS 基础配置


6.1 网络配置(软路由模式)


进入「网络」→「接口」
配置 WAN 口:

  • 若为 PPPoE 拨号:新增接口,协议选择 PPPoE,输入宽带账号密码
  • 若为 DHCP 上网:选择 DHCP 客户端,绑定对应物理网口

配置 LAN 口:

  • 设置静态 IP(如 192.168.3.1/24),开启 DHCP 服务,为下游设备分配 IP

保存配置并应用,重启网络服务。


6.2 安装常用插件


进入「应用商店」,可安装以下常用插件:

  • 科学上网:passwall/clash
  • 广告拦截:adguardhome
  • 文件共享:samba
  • 动态 DNS:ddns-go


七、常见问题避坑


7.1 光驱引导失败(code 0004)


原因:iStoreOS .img 是磁盘镜像,不适合作为光驱 ISO 引导
解决:本文采用的「直接导入磁盘」方式,彻底规避此问题


7.2 UEFI 引导找不到设备


原因:UEFI 模式对光驱 / 磁盘识别兼容性差
解决:创建虚拟机时 BIOS 选择 SeaBIOS


7.3 启动后无 IP 地址


原因:网络桥接配置错误或虚拟机网卡未绑定
解决:检查虚拟机网络桥接是否为 vmbr0,确认物理网口正常


八、总结


通过「磁盘镜像直接导入」的方式在 PVE 中部署 iStoreOS,不仅规避了传统光驱引导的兼容性问题,还能实现系统直接从 SSD 启动,性能更稳定。iStoreOS 简洁的 Web 界面和丰富的插件生态,使其成为家庭软路由的理想选择,配合 PVE 虚拟化环境,可轻松实现多系统共存与资源灵活分配。


九、参考资料


iStoreOS 官方文档
Proxmox VE 官方文档

http://www.jsqmd.com/news/545789/

相关文章:

  • COMSOL仿真技术在变压器电磁场模型研究中的应用:探究磁密分布与电路状态结果
  • OpenClaw学习助手:GLM-4.7-Flash实现的错题本自动整理
  • 3步突破分子构象采样瓶颈:从理论到药物研发落地
  • SQL Server数据同步不求人:手把手教你用Linked Server实现跨库查询(2024最新版)
  • VAP:腾讯开源的高性能动画播放引擎,如何让你的应用动起来更流畅?
  • ente/auth缓存机制详解:提高系统响应速度
  • OpenClaw办公自动化:GLM-4.7-Flash处理Excel与PDF文档
  • 告别裸机思维:在GD32单片机上用FreeRTOS管理多个传感器(附源码)
  • Windows容器安全加固指南:远程访问防护与容器安全配置
  • EDK II代码质量指标定义:各指标详细说明
  • S32K3低功耗模式实战:如何用WKPU和Pad-Keeping实现高效唤醒(附代码示例)
  • Ubuntu 20.04系统上CYBER-VISION零号协议深度学习环境一键配置
  • RPA-Python与pytest-aqua-security集成:Aqua Security测试自动化
  • brpc代码评审效率工具:自动化检查与反馈
  • 如何构建你的第一个Python高频交易模型:完整实战指南
  • LangChainJS黑客马拉松:创新AI应用的开发竞赛
  • Llama-3.2V-11B-cot惊艳效果:多轮对话中视觉记忆一致性验证
  • 如何设置Rainmeter电池温度阈值:保护你的设备免受高温损害
  • 51单片机学习日志-10
  • OCLP-Mod:让老旧Mac重获新生的终极macOS升级解决方案
  • 深度体验报告:国产IDE MounRiver Studio(MRS)在简化嵌入式开发上做了哪些“隐形”努力?
  • Agent-S智能自动化框架:企业级系统集成的技术解决方案
  • 科研党必备:手把手教你用学校邮箱注册Reaxys数据库(附激活邮件处理技巧)
  • Zotero文献管理终极指南:从混乱到高效的研究工作流
  • WSABuilds系统调用:Windows与Android内核交互机制解析
  • FCEUX模拟器全面指南:轻松重温经典NES游戏
  • Headless Recorder终极指南:7步掌握浏览器自动化录制技术
  • FLUX.1-dev FP8量化技术:释放中端显卡的AI绘画潜能
  • 开源跨平台媒体播放新标杆:zyfun播放器技术解析与实践指南
  • Kimi-VL-A3B-Thinking快速部署:基于CSDN镜像的开源多模态模型开箱即用方案