N5105 G47 I226 5 网口双串 ESXi8.0 虚拟机安装 iStoreOS实操记录
一、硬件环境说明
主机:N5105 G47 工控机箱
- 设备:倍控 N5105 G47 机箱,5 口 I226 网卡、双串口、4 口 POE 供电
- 存储:512G mSATA 固态硬盘,SATA 位无硬盘
- 虚拟化平台:VMware ESXi 8.0,已完成 4 张 I226 网卡直通
- 镜像工具:StarWind V2V Converter(云端直传 ESXi,不本地中转)
- 终端工具:XTerminal-5.6.6-win-x64-portable
- 系统版本:iStoreOS 24.10.8-2026073111 x86_64 squashfs combined-efi
二、软件准备与全部下载地址
2.1 iStoreOS 系统镜像(本次专用版本)
文件名:istoreos-24.10.8-2026073111-x86-64-squashfs-combined-efi.img.gz
- SourceForge 镜像源:https://sourceforge.net/projects/istoreos/files/iStoreOS/
- KoolCenter 官方源:https://fw.koolcenter.com/iStoreOS/
- 备用分流:https://fw0.koolcenter.com/iStoreOS/
选择适用于 x86_64 架构的 combined-efi 格式镜像:istoreos-24.10.8-2026073111-x86-64-squashfs-combined-efi.img.gz
2.2 镜像转换工具(Windows)
StarWind V2V Converter(免费,用于 img 转 ESXi 识别 vmdk)
官网下载:https://www.starwindsoftware.com/starwind-v2v-converter-download
备用地址:https://www.starwindsoftware.com/starwind-v2v-converter
2.3 辅助工具
- 7-Zip:解压 img.gz 镜像
- XTerminal-5.6.6-win-x64-portable:SSH 连接 ESXi、iStoreOS 后台执行命令
- 官网下载:https://www.xterminal.cn/
三、ESXi 前置配置:BIOS 开启直通、网卡 PCI 直通设置(ESXi 已装好,仅配置直通)
3.1 BIOS 硬件开启虚拟化
N5105 开机按 Del 进入 BIOS:
CPU Configuration → Intel Virtualization Technology:Enabled
VT-d(IOMMU):Enabled
SR-IOV:Enabled(I226 网卡支持)
保存重启进入 ESXi 系统。
四、iStoreOS 镜像格式转换(Windows 端操作)
4.1 解压镜像
使用 7-Zip 解压下载的 istoreos-24.10.8-2026073111-x86-64-squashfs-combined-efi.img.gz,得到裸磁盘文件 .img。
4.2 StarWind 转换并直传 ESXi 完整步骤
- 右键 StarWind V2V Converter,选择以管理员身份运行,避免 ESXi 存储写入权限 403 报错
- 转换源选择
Local file,点击 Next - 选中解压后的
istoreos-24.10.8-2026073111-x86-64-squashfs-combined-efi.imgimg 镜像,软件自动识别 Raw 磁盘格式,确认下一步 - 目标类型选择
Remote VMware ESXi Server(适配 ESXi8.0),Next - 填写 ESXi 远程连接信息
- IP address:ESXi 管理 IP(192.168.50.235)
- User name:root
- Password:ESXi 登录密码
- 磁盘格式选择
ESXi Server image,预分配 vmdk,Next - 存储路径配置
- File name:自定义
istoreos-efi.vmdk - 浏览 ESXi 数据存储,在 mSATA 硬盘存储根目录新建 istoreos 文件夹作为存放路径
- 取消勾选「Attach image to virtual machine」,后续手动新建虚拟机挂载磁盘
- File name:自定义
- 核对全部参数,点击 Start 开始转换上传
- 软件本地完成 img 转 vmdk
- 转换结束自动通过 HTTPS 直传至 ESXi mSATA 存储,同步生成
istoreos-efi.vmdk、istoreos-efi-flat.vmdk
- 提示 Complete 代表上传完成,进入 ESXi「存储 - 数据存储浏览器」确认文件存在。
五、ESXi 新建 iStoreOS 虚拟机完整步骤
ESXi 后台【虚拟机】-【创建 / 注册虚拟机】→【创建新虚拟机】
- 名称:iStoreOS-24.10.6
- 兼容性:ESXi 8.0 U2虚拟机
- 客户机操作系统:Linux → 其他 Linux (x86_64)
磁盘设置:删除默认新建硬盘,选择【使用现有虚拟磁盘】,选中上传的 istoreos.vmdk
CPU 内存配置:
- CPU:2 核 4 线程(N5105 推荐分配 2 核,预留 2 核给 ESXi)
- 内存:4GB,勾选「预留所有客户机内存」(直通网卡必须开启,否则开机失败)
网络适配器:删除所有默认虚拟网卡,后续使用 PCI 直通网卡,此处不添加任何虚拟网卡
添加 PCI 直通硬件:【添加其他设备】-【PCI 设备】,依次勾选 4 块 I226 直通网卡,确认添加
虚拟机选项设置:
- 引导选项:固件选择
EFI - 禁用安全启动,保存虚拟机配置
- 引导选项:固件选择
开启虚拟机电源,进入 iStoreOS 控制台。
由于 ESXi 中创建的虚拟磁盘初始大小等于原始镜像大小(约 2GB),需要将其扩容到 32GB。
关闭 iStoreOS 虚拟机
右键虚拟机 → 编辑设置(Edit Settings)
找到硬盘 → 将 磁盘大小(Disk Size)修改为 32 GB
点击 保存
六、iStoreOS 初始化与基础网络配置
虚拟机控制台启动完成,回车激活终端,输入
quickstart进入系统安装向导磁盘扩容:转换后上传的
istoreos.vmdk只有2G多,所有要把这个istoreos.vmdk扩容到32G,也可以更多。(忘了,不知道能不能扩容)。如果不能扩容:磁盘选择页面选中挂载的 vmdk 磁盘,确认写入系统分区表
网页后台登录:
http://192.168.1.1,进入【网络】-【网络接口】查看所有网卡 MAC 地址,找到 MAC
00:d0:b4:01:0b:b3对应设备名为 eth1修改接口配置:
- 新建 WAN 接口:设备 eth1,协议按需选择(PPPoE / 静态 IP/DHCP)
- LAN 接口绑定剩余网卡,LAN 静态地址修改为
192.168.50.1,子网掩码 255.255.255.0 - DHCP 地址池:192.168.50.10 ~ 192.168.50.200
- 保存应用,等待网络重启,之后管理后台地址变更为
http://192.168.50.1
七、核心实操 :iStoreOS /overlay 分区扩容(文档全套命令)
虚拟机新增磁盘后,磁盘尾部存在大量空闲空间,使用 parted 扩容 sda3 根分区,两种操作方式:
方式 1:直接指定容量扩容
# 进入分区工具 |
操作代码如下:
root@iStoreOS:~# parted # 输入 parted |
方式 2:扇区精确扩容(推荐,自动占满全部空闲空间)
# 以扇区为单位查看分区与空闲空间 |
执行完成后,df -h查看 /overlay 分区容量已扩展至磁盘最大空间。
操作代码如下:
root@iStoreOS:~# parted /dev/sda unit s print free |
八、核心实操 :Sing-box 1.13.11 一键安装
官方 GitHub Releases:这是最权威的下载渠道。可以访问 SagerNet/sing-box 的 Releases 页面,在 v1.13.11 版本的 Assets 下查找 x86_64 架构的 .ipk 文件
SSH 登录 iStoreOS root 用户,执行 opkg 更新仓库并安装对应 x86_64 安装包:
opkg update && opkg install sing-box_1.13.11_openwrt_x86_64.ipk |
执行流程说明:
- 自动同步 istore、openwrt core/base/luci/routing 多源软件包列表
- 校验软件签名通过,自动下载依赖内核模块
kmod-nfnetlink-queue、kmod-nft-queue - 自动配置内核模块与 sing-box 服务,安装完成后 iStore 软件中心出现 Sing-box 控制面板。
九、核心实操:时区统一 Asia/Shanghai(zoneinfo 安装)
iStoreOS 默认时区异常时执行以下命令修复:
# 安装时区数据包(apk为iStoreOS内置包管理器) |
十、核心实操 :Docker 镜像加速源配置
修改 dockerd 配置文件/etc/config/dockerd,写入多国内镜像仓库,提升拉取速度:
config globals 'globals' |
修改完成后重启 Docker 生效:/etc/init.d/dockerd restart
十一、核心实操:修复 sleep 0.5 小数休眠不支持
包来自 OpenWrt 24.10 分支(coreutils=9.7‑r1)
本地下载:coreutils-sleep_9.7-r1_x86_64.ipk
官方直链(24.10.8,最新 24.10 稳定版)
https://downloads.openwrt.org/releases/24.10.8/packages/x86_64/packages/coreutils-sleep_9.7-r1_x86_64.ipk |
国内中科大镜像(推荐,速度快)
https://mirrors.ustc.edu.cn/openwrt/releases/24.10.8/packages/x86_64/packages/coreutils-sleep_9.7-r1_x86_64.ipk |
离线安装两种方式
- wget 下载后本地安装
wget https://mirrors.ustc.edu.cn/openwrt/releases/24.10.8/packages/x86_64/packages/coreutils-sleep_9.7-r1_x86_64.ipk |
- opkg 直接远程安装
opkg install https://mirrors.ustc.edu.cn/openwrt/releases/24.10.8/packages/x86_64/packages/coreutils-sleep_9.7-r1_x86_64.ipk |
⚠️注意:只能在 OpenWrt‑24.10.x x86_64 使用;23.05 版本 coreutils 版本是 9.3,没有 9.7‑r1 这个包,强行安装会报依赖错误
十二、核心实操 6:释放 443 端口(避免 uhttpd 占用,给博客 HTTPS 使用)
找到/etc/config/uhttpd修改为如下:
config uhttpd 'main' |
重启 web 管理服务
/etc/init.d/uhttpd restart |
十三、核心实操:系统定时任务 crontab 配置
编辑 root 定时任务文件/etc/crontabs/root,写入业务脚本定时执行规则:
# ln -sf /b860/docker-gitee/crontabs_root /etc/crontabs/root |
重载定时任务:/etc/init.d/cron reload
十四、附加:Gitee 仓库备份脚本拉取命令
如需拉取 armb860 备份仓库,执行浅克隆(减少下载体积):
git clone --depth 1 -b armb860 [email protected]:cfv2ray/armbackup.git temp_clean |
部署踩坑总结与扩展
- I226 网卡直通必须开启虚拟机「预留所有客户机内存」,否则开机提示 PCI 设备启动失败
- iStoreOS Legacy 镜像虚拟机固件必须选 BIOS,UEFI 模式无法引导系统
- 扩容分区时提示磁盘正在使用可直接 yes,iStoreOS 支持 ext4 在线扩容无需关机
- ESXi 直通网卡前,务必删除虚拟交换机绑定,否则直通状态灰色无法切换
- Docker 加速源修改后必须重启 dockerd,否则镜像拉取仍走官方源
- N5105 分配虚拟机内存建议最低 2G,4G 可稳定运行 Sing-box+Docker 多容器
- SATA 硬盘直通给 iStoreOS 搭建轻量 NAS 文件服务
- Sing-box 配置订阅、自定义路由规则实现分流
- 定时脚本自动备份 iStoreOS 配置、Docker 容器数据
- 安装 Jellyfin/EMBY 媒体服务,实现家庭影音库虚拟化部署
- 串口 COM 直通,外接串口设备实现物联网设备管理