PVE安装Win10虚拟机:VirtIO驱动与远程桌面配置
前情提要
PVE和飞牛NAS都搞定了,这篇记录Win10虚拟机安装过程。
核心要点:
- Win10用SCSI接口(性能好)
- 必须手动加载VirtIO驱动
- 用远程桌面(RDP),别用PVE控制台
硬件配置
- CPU: i5-8400
- 内存: 16GB DDR4
- PVE版本: 9.1.1
资源分配策略
总原则
- CPU总分配 ≤ 物理核心数(避免超分配导致卡顿)
- 内存总分配 ≤ 物理内存 - 2GB(宿主机预留)
我的配置(16GB内存,6核CPU)
| 虚拟机 | CPU核心 | 内存 | 用途 |
|---|---|---|---|
| 飞牛NAS | 4核 | 8GB | 文件服务 |
| Win10 | 3核 | 8GB | 日常测试 |
| 预留 | -1核 | 0GB | 系统缓冲 |
注意:飞牛和Win10不会同时满载,所以内存可以"超"一点(8+8=16GB)。但CPU绝不能超(4+3=7核 > 6核物理)。
一、前期准备
1. 下载文件
Windows 10 ISO:
- 官方下载:https://www.microsoft.com/zh-cn/software-download/windows10
- 选择专业版(支持远程桌面)
VirtIO 驱动:
- 下载地址:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
- 版本:0.1.285
2. 上传到PVE
登录PVE Web界面 → local(pve) → ISO Images → Upload 上传两个ISO。
二、创建虚拟机
点右上角 Create VM:
General
- VM ID: 101
- Name: Win10
- ✅ Start at boot(开机自启)
OS
- ISO image: 选Win10 ISO
- Guest OS Type: Microsoft Windows
- Version: 10/2016/2019
System(重点)
- Machine: q35
- BIOS: SeaBIOS(推荐,兼容性好)
- SCSI Controller: VirtIO SCSI single
- ✅ Qemu Agent
为什么选SeaBIOS而不是UEFI:
- SeaBIOS配置简单,不需要EFI磁盘
- 兼容性最好,不会出现启动失败
- 除非有特殊需求(如Secure Boot),否则优先SeaBIOS
Disks(关键配置)
- Bus/Device: SCSI(Win10用SCSI性能好,和飞牛不同)
- Storage: local-lvm
- Disk size: 80 GiB
- Cache: Write back(性能最优)
- ✅ Discard(SSD TRIM支持)
- ✅ SSD emulation
CPU
- Sockets: 1
- Cores: 3
- Type: host(直通CPU特性,性能最好)
Memory
- Memory: 8192 MiB(8GB)
- ✅ Ballooning(动态内存管理)
Network
- Bridge: vmbr0
- Model: VirtIO (paravirtualized)
完成后先不启动!
三、添加VirtIO驱动光盘
虚拟机创建完成后:
- 选中虚拟机 → Hardware → Add → CD/DVD Drive
- Bus/Device: IDE 0(或IDE 2)
- ISO image: 选
virtio-win.iso - 点"Add"
调整启动顺序
虚拟机 → Options → Boot Order:
| |
四、安装系统
1. 启动虚拟机
选中虚拟机 → 点"Start" → 双击"Console"。
2. 进入安装界面
- 选择语言/时区 → 下一步
- 点"现在安装"
- 输入密钥(可跳过)
- 选择"Windows 10 专业版"
- 接受许可条款
- 选择"自定义:仅安装Windows(高级)"
3. 加载VirtIO硬盘驱动(关键步骤)
问题:界面显示"我们找不到任何驱动器"
原因:Windows不认识VirtIO SCSI控制器
解决:
- 点"加载驱动程序"
- 点"浏览"
- 选择VirtIO光驱盘符(D: 或E:)
- 进入目录:
vioscsi → w10 → amd64 - 点"确定"
- 选择"Red Hat VirtIO SCSI controller"
- 点"下一步"
结果:现在能看到"驱动器0 未分配的空间 XX.X GB"
4. 处理分区错误(如遇到)
如果提示"Windows无法安装到这个磁盘…",按Shift + F10打开命令行:
| |
刷新安装界面,重新选择硬盘。
5. 开始安装
- 选中"驱动器0 未分配的空间"
- 点"下一步"
- 等待安装(15-30分钟)
- 自动重启几次
- 完成初始设置
五、安装VirtIO驱动
为什么需要装驱动
装完系统会发现:
- ❌ 没有网络(设备管理器显示"以太网控制器"黄色叹号)
- ❌ 某些硬件功能不可用
一键安装(推荐)
- 进入Win10系统
- 打开"此电脑"
- 双击VirtIO驱动光盘(D: 或E:)
- 运行
virtio-win-guest-tools.exe - 一路Next安装
- 重启系统
会自动安装:
- ✅ 网卡驱动(NetKVM)
- ✅ 硬盘驱动(vioscsi)
- ✅ 气球驱动(Balloon,动态内存)
- ✅ QEMU Guest Agent
装完后网络恢复正常。
六、网络架构选择
我的配置
| |
性能对比
| 传输路径 | 虚拟网卡速度 | 直通网卡速度 |
|---|---|---|
| Win10 → 飞牛 | 300-500 MB/s | 50-80 MB/s |
| Win10 → 外网 | 118 MB/s | 118 MB/s |
结论:
- 虚拟机之间通信走PVE内存,不经过物理网口,速度极快
- 只有访问外网时才走物理网口(千兆限制)
两种方案对比
方案A:飞牛直通物理网口(我的方案)
- 适合:主要从外网下载到NAS
- Win10 → 飞牛速度:50-80 MB/s(千兆限制)
方案B:飞牛用虚拟网卡
- 适合:主要从Win10传输到NAS
- Win10 → 飞牛速度:300-500 MB/s(内存直通)
如果你的使用场景是"Win10下载 → 保存到飞牛",建议方案B。
七、远程桌面配置
为什么不用PVE控制台
PVE控制台(noVNC)问题:
- 延迟高(200ms+)
- 画质模糊
- 帧率低(10-20fps)
设计目的:只用于安装系统、紧急维护,不适合日常使用。
开启远程桌面
Win10系统内:
- 右键"此电脑" → 属性
- 点"远程设置"
- ✅ 勾选"允许远程连接到此计算机"
- 确定
获取IP地址
Win10中按 Win + R → 输入 cmd → 输入:
| |
记下IPv4地址(如192.168.1.101)
从其他设备连接
Windows电脑:
| |
Mac电脑:
- App Store下载"Microsoft Remote Desktop"
Linux电脑:
- 使用Remmina、Vinagre等RDP客户端
性能对比
| 连接方式 | 延迟 | 画质 | 适用场景 |
|---|---|---|---|
| PVE控制台 | 200ms+ | 模糊 | 安装/救急 |
| 远程桌面 | <10ms | 完美 | 日常使用 |
常见问题
1. UEFI启动失败
错误信息:
| |
原因:选了OVMF(UEFI)但未添加EFI磁盘
解决:
- 改用SeaBIOS,删除虚拟机重建
- 或手动添加EFI Disk(Hardware → Add → EFI Disk)
2. 安装时看不到硬盘
原因:未加载VirtIO SCSI驱动
解决:参考第四章第3节加载驱动
3. 安装后没有网络
原因:未安装VirtIO网卡驱动
解决:参考第五章安装驱动
4. CPU超分配导致卡顿
现象:多个虚拟机同时运行时卡顿
原因:虚拟机CPU总核心数 > 物理CPU核心数
解决:合理分配,总数不超过物理核心
- 示例(6核物理):飞牛4核 + Win10 3核 = 7核 > 6核 ❌
- 正确分配:飞牛2核 + Win10 3核 = 5核 < 6核 ✅
5. 内存不足OOM
现象:虚拟机被随机杀死,日志显示OOM Killer
原因:虚拟机内存总分配 > 物理内存 - 宿主机预留
解决:总分配 ≤ 物理内存 - 2GB
- 示例(16GB物理):飞牛4GB + Win10 8GB + 预留2GB = 14GB ✅
性能优化
1. 硬盘缓存模式
| 模式 | 性能 | 安全性 | 适用 |
|---|---|---|---|
| No cache | 慢 | 最高 | 生产数据库 |
| Write through | 中 | 高 | 折中 |
| Write back | 快 | 中 | 家用 |
建议:家用场景选Write back,性能提升2-3倍。
2. CPU类型选择
- host(推荐):直通宿主机CPU特性,性能最好
- kvm64:通用兼容,性能稍差
- 特定型号:迁移需要相同架构
3. 网卡模型选择
| 模型 | 性能 | 兼容性 |
|---|---|---|
| e1000 | 100 Mbps | 好 |
| e1000e | 1 Gbps | 好 |
| VirtIO | 10+ Gbps | 需装驱动 |
建议:统一使用VirtIO,安装对应驱动。
总结
核心要点:
- Win10用SCSI接口(性能好,和飞牛的SATA不同)
- 必须手动加载VirtIO驱动(安装时和系统装完后)
- 日常使用远程桌面(RDP),不要用PVE控制台
- 合理分配资源:CPU不超分,内存留2GB缓冲
当前架构:
- PVE系统:250G固态
- 飞牛NAS:板载网口直通 + 2T机械盘直通
- Win10:虚拟网卡 + 80G虚拟磁盘
性能表现:
- Win10 ↔ 飞牛:300-500 MB/s(内存直通)
- Win10 ↔ 外网:118 MB/s(千兆限制)
老机器性能完全够用,日常办公无压力,等以后加独显可以跑GPU计算。
相关阅读
记录时间:2025-12-24
PVE版本:9.1.1 | Win10版本:专业版22H2