这是 OMV 5 部曲的第 ④ 篇
💡 OMV 5 部曲进度
- ① 系统安装
- ② 共享文件系统配置
- ③ 异地访问
- ④ KVM 虚拟机(本文)
- ⑤ Docker 容器
前三篇把 OMV 跑起来、能存数据、能异地访问。这一篇进入「玩起来」的部分——让你的 NAS 同时多扮演几个角色:
- 在 NAS 里跑一台 OpenWrt 当家里的软路由
- 在 NAS 里跑一台 Windows 10 当远程办公电脑
- 在 NAS 里跑一台 Linux 测试机 折腾 Web 服务
一台机器顶过去三台,省电省地省钱——这就是虚拟化的价值。
你需要准备什么
| 项 | 说明 |
|---|---|
| 一台跑着 OMV 的 NAS | 没装好的看 ① 系统安装 |
| CPU 支持硬件虚拟化 | Intel VT-x 或 AMD-V。BIOS 里要开启——10 年内的 CPU 基本都支持 |
| 至少 8GB 内存 | 跑 Windows 10 虚拟机推荐预留 4G 内存给它 |
| 一块独立或较大数据盘 | KVM 的虚拟磁盘文件占空间,Win10 装好至少 30G |
| 系统安装 ISO 镜像 | 要跑哪个系统就备哪个 ISO(Win10 / OpenWrt 等) |
⚠️ CPU 不支持虚拟化或 BIOS 里没开 VT-x/AMD-V,KVM 插件可以装但跑不了虚拟机。开机进 BIOS 找
Intel VT-x/Intel Virtualization Technology/AMD SVM类似选项,改成 Enabled。
关键概念(快速过一下)
KVM 是什么
KVM(Kernel-based Virtual Machine) 是 Linux 内核自带的虚拟化模块——它把你的物理 CPU 切片成虚拟 CPU,让多个虚拟机能在同一台物理机上跑。
KVM 配套通常和这几个一起工作:
- QEMU — 模拟虚拟硬件(虚拟网卡、虚拟磁盘控制器)
- libvirt — 提供统一的管理 API
- virt-manager — 图形化管理工具
在 OMV 里这些都由 OMV-Extras 的 KVM 插件统一封装——你只需要在 Web 界面点点点,不需要碰命令行。
OMV-Extras 是什么
OMV 官方只装基础包。OMV-Extras 是社区维护的扩展插件库,提供 KVM、Docker、ZFS 等额外功能。第 ④ ⑤ 两篇都要用到它。
第一步:安装 OMV-Extras
SSH 登录 OMV(用 root 账户),执行:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

脚本会从 GitHub 下载安装包并自动配置。国内网络环境下,GitHub 下载经常失败——表现为脚本卡在某一步、最终报错。

第一种处理(换网络重试)
挂代理或换网络环境(手机热点也行),重新跑上面那条 wget 命令。多数情况下挂代理就能装上。
第二种处理(手动下载 + 离线装)
去 OMV-Extras GitHub Releases 页 找最新的 openmediavault-omvextrasorg_latest_all6.deb(OMV 6 用 all6、OMV 7 用 all7),下载到你电脑。
用 SFTP 工具(WinSCP 是最常用的)把 deb 包传到 OMV:


然后在 OMV 上执行:
apt install ./openmediavault-omvextrasorg_latest_all6.deb

装完后刷新 OMV Web 后台,系统 → omv-extras 出现新菜单:

勾选 Docker repo 或其他需要的仓库,保存 + 应用。
第二步:安装 KVM 插件
系统 → 插件,搜索 kvm,找到 openmediavault-kvm 安装:

⚠️ OMV 6 上装 KVM 插件可能报错「依赖不可用」。这是因为 KVM 部分依赖在 Backports 里。处理方法:
系统 → omv-extras → 内核 → 启用 Proxmox Kernel 或 Backports,再回去装 KVM 插件。
参考社区帖:https://forum.openmediavault.org/index.php?thread/48013-unable-to-install-kvm-plugin/

装好之后,服务 菜单里出现 KVM 项:

第三步:创建池(虚拟机的「专属仓库」)
「池」是 KVM 用来放 ISO 镜像和虚拟磁盘文件的专属文件夹——你可以理解为 KVM 的工作目录。
服务 → KVM → 池 → 创建:

字段:
- 名称:起个名(如
vm-pool) - 路径:选数据盘上的某个目录(如
/srv/dev-disk-by-uuid-xxx/kvm/)
💡 池要放在数据盘上,不要放系统盘。虚拟机磁盘文件动辄几十 G,系统盘根本装不下。

第四步:上传系统 ISO 到池里
把要装的虚拟机系统 ISO(如 Windows10.iso、openwrt.img)上传到刚建的池目录里。两种方法:
方法 A:用 WinSCP / FileZilla 通过 SFTP 上传
直接拖文件到池目录。适合一次性传,不需要额外配置。

方法 B:把池目录加到 SMB 共享
如果你已经按 ② 共享文件系统配置 把池目录配成了 SMB 共享,那就直接从 Windows 资源管理器复制文件过去。这种方式速度更快(千兆网络 100MB/s+),适合传几个 G 的大镜像。

上传完成后回 KVM 池里能看到这个 ISO 文件。
第五步:配置虚拟网络
虚拟机要联网,需要先建一个虚拟网络。服务 → KVM → 网络 → 创建。
两种网络类型,选择完全决定虚拟机能否被外部访问:
| 类型 | 工作方式 | 外部可访问虚拟机? | 适用场景 |
|---|---|---|---|
| bridge NAT | OMV 创建一个虚拟网桥,虚拟机走 NAT 出网 | ❌ 外部不能主动连虚拟机 | 纯客户端用途(虚拟机里跑浏览器、装软件测试) |
| macvtap | 虚拟机用独立 MAC 直接接入物理网络 | ✅ 外部可主动访问 | 虚拟机要对外提供服务(PT 下载、Web 服务、OpenWrt 软路由) |

⚠️ macvtap 的隐藏限制:虚拟机和 OMV 主机之间是隔离的——虚拟机里能 ping 通家里的路由器,但 ping 不到 OMV 主机本身。如果你想用「OMV 主机走虚拟机里的 OpenWrt 上网」这种思路,macvtap 是不行的,需要别的方案(涉及多网卡或 vlan,本文不展开)。
绝大多数家用场景选 macvtap——简单直接、虚拟机可对外访问,适合跑 OpenWrt 软路由、PT 下载机、家庭影音服务器。
第六步:创建卷(虚拟机的虚拟硬盘)
「卷」就是虚拟机用的虚拟硬盘文件。服务 → KVM → 卷 → 创建:

字段:
- 名称:如
win10-disk1 - 池:选刚建的
vm-pool - 容量:Windows 10 建议 40G+、OpenWrt 1G 够、Linux 测试 20G。后期可以扩,但不能缩——所以保守起步
- 格式:
| 格式 | 特点 | 推荐 |
|---|---|---|
| qcow2 | 支持快照、动态扩容、空间利用率高 | 通用首选 |
| raw | 性能最好、占位静态、不支持快照 | 对性能敏感(数据库虚拟机) |
新人一律选 qcow2。
第七步:创建虚拟机
服务 → KVM → 虚拟机 → 创建:

字段:
- 名称:如
win10-vm - OS 类型:选 Windows 10(或 Linux 通用)
- CPU 数量:1-4 个虚拟 CPU,看你 OMV 主机的物理核数留余量
- 内存:Win10 推荐 4096 MB,OpenWrt 256-512 MB 即可
- 网络:选第五步建的那个
- 卷:选第六步建的那个
- 启动光盘:选上传的 ISO 文件

保存 + 应用。回虚拟机列表,点击「启动」开机。

第八步:用 VNC 看虚拟机画面
虚拟机启动了,但 NAS 没接显示器——怎么看到虚拟机界面?答案是 VNC 远程控制。
OMV 的 KVM 插件给每个虚拟机分配了一个 VNC 端口。在虚拟机详情页能看到「VNC 端口」字段(如 5900)。
下载一个 VNC 客户端:
- RealVNC Viewer — https://www.realvnc.com/en/connect/download/viewer/
- MobaXterm — 自带 VNC,免费版功能够用
打开 VNC Viewer,输入 <NAS IP>:5900 连接:

接下来就是常规的 Windows 10 / OpenWrt 安装流程——选盘、选语言、设置账户、装驱动。装完之后这个虚拟机就跟一台独立物理机一样使用了。
进阶玩法
在 OMV 上跑 OpenWrt 当家里的软路由
这是 NAS 玩家最常见的虚拟机用法之一。要点:
- 网络类型选 macvtap,让 OpenWrt 直接拿到家里网段的 IP
- 卷给 1G 够了,OpenWrt 镜像不大
- 装完后把家里路由器改成桥接 / AP 模式,让 OpenWrt 接管 DHCP 和上网
在 OMV 上跑 Windows 10 当远程办公主机
- 配合 ③ 异地访问 把 OMV 接入虚拟内网
- 在 Win10 虚拟机里启用远程桌面,远程时连虚拟机的内网 IP
- 这样你的「办公主机」 24h 在线、能耗低、不占工位
具体远程桌面怎么配,参考 Windows 异地远程桌面教程——把那篇里的「公司电脑」换成「OMV 里的 Win10 虚拟机」即可。
常见问题
问题 1:KVM 插件装不上 / 报依赖缺失
启用 OMV-Extras 里的 Proxmox Kernel 或 Backports,再重装 KVM 插件。
问题 2:虚拟机开机后没画面 / VNC 连不上
按顺序排查:
- 虚拟机真的在跑吗:列表里状态是「运行中」吗?还是「已停止」/「错误」?
- VNC 端口对吗:在虚拟机详情页查端口号,不同虚拟机端口不同
- NAS 防火墙是否拦了 VNC 端口:默认 KVM 用的 5900-5910 这一段是放行的,自定义防火墙规则可能拦到
- CPU 是否开了 VT-x/AMD-V:BIOS 没开虚拟化,KVM 会启动失败
问题 3:虚拟机性能特别差(比物理机慢几倍)
- CPU 没开 VT-x/AMD-V:BIOS 里开
- 内存分配太少:Win10 至少 4G,给 2G 必卡
- 存储用了 NTFS 数据盘:KVM 在 NTFS 上跑的 qcow2 性能很差,推荐池放在 ext4 / btrfs 盘上
- 网络选了 bridge NAT 但虚拟机里跑高带宽业务:换 macvtap
问题 4:macvtap 虚拟机能上外网,但 OMV 主机访问不到它
这是 macvtap 的设计限制,不是 bug。处理方法:
- 业务从外面网段访问虚拟机(推荐)
- 改用 bridge NAT 网络(但虚拟机也访问不到外部)
- 多网卡方案:OMV 主机用一个网口,macvtap 虚拟机用另一个
家用场景一般不需要 OMV 主机直接访问虚拟机,从外面访问就够了。
问题 5:虚拟机磁盘满了,能扩容吗?
可以。在 服务 → KVM → 卷 找到那个卷,编辑容量改大。注意是 qcow2 才能扩,raw 不行。扩完后还要进虚拟机系统里扩分区(Windows 用磁盘管理、Linux 用 fdisk+resize2fs)。
反过来缩容不支持——这就是为什么前面建议保守起步。
总结与延伸
到这里你的 OMV NAS 就升级成了家里的虚拟化平台:
- 一台机器跑多个角色(路由器 + 远程办公主机 + Web 测试机)
- 每个虚拟机隔离独立,互不影响
- 比买多台物理机省电、省地、省钱
OMV 5 部曲继续读
- ① 系统安装
- ② 共享文件系统配置
- ③ 异地访问
- ④ KVM 虚拟机(本文)
- 下一篇 → ⑤ Docker 容器 — 比 KVM 更轻量的应用部署方式,跑 Jellyfin / Nextcloud / qBittorrent 这种应用首选
虚拟机里的 Windows 也要异地访问?
虚拟机里的 Win10 可以完全像一台独立物理机配远程桌面 + MoleSDN,参考 Windows 异地远程桌面教程。OMV 主机和 Win10 虚拟机可以同时接入同一个 MoleSDN 服务域,从外面分别访问。
家用宽带 + 移动网络组合下,普通直连有时打不通——超级鼹鼠 / 智能路由 / 可靠洞洞 这几个进阶能力专门为这类场景设计。还没用过 MoleSDN?先看 快速上手,全程 1 分钟。
祝折腾愉快。