返回

PVE安装Win10虚拟机:VirtIO驱动与远程桌面配置

PVE 平台上创建 Win10 虚拟机的完整教程。涵盖 VirtIO 驱动安装、SCSI 磁盘配置、远程桌面 RDP 设置、资源分配策略,以及解决驱动无法识别等常见问题。

PVE安装Win10虚拟机:VirtIO驱动与远程桌面配置

前情提要

PVE和飞牛NAS都搞定了,这篇记录Win10虚拟机安装过程。

核心要点

  1. Win10用SCSI接口(性能好)
  2. 必须手动加载VirtIO驱动
  3. 远程桌面(RDP),别用PVE控制台

硬件配置

  • CPU: i5-8400
  • 内存: 16GB DDR4
  • PVE版本: 9.1.1

资源分配策略

总原则

  • CPU总分配 ≤ 物理核心数(避免超分配导致卡顿)
  • 内存总分配 ≤ 物理内存 - 2GB(宿主机预留)

我的配置(16GB内存,6核CPU)

虚拟机CPU核心内存用途
飞牛NAS4核8GB文件服务
Win103核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 ImagesUpload 上传两个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驱动光盘

虚拟机创建完成后:

  1. 选中虚拟机 → HardwareAddCD/DVD Drive
  2. Bus/Device: IDE 0(或IDE 2)
  3. ISO image: 选 virtio-win.iso
  4. 点"Add"

调整启动顺序

虚拟机 → OptionsBoot Order

1
2
3
4
✅ ide2 (Win10 ISO)  - 第一位
✅ scsi0 (硬盘)      - 第二位
✅ ide0 (VirtIO ISO) - 第三位
❌ net0 (网卡)       - 取消勾选

四、安装系统

1. 启动虚拟机

选中虚拟机 → 点"Start" → 双击"Console"。

2. 进入安装界面

  1. 选择语言/时区 → 下一步
  2. 点"现在安装"
  3. 输入密钥(可跳过)
  4. 选择"Windows 10 专业版"
  5. 接受许可条款
  6. 选择"自定义:仅安装Windows(高级)"

3. 加载VirtIO硬盘驱动(关键步骤)

问题:界面显示"我们找不到任何驱动器"

原因:Windows不认识VirtIO SCSI控制器

解决

  1. 点"加载驱动程序"
  2. 点"浏览"
  3. 选择VirtIO光驱盘符(D: 或E:)
  4. 进入目录:vioscsi → w10 → amd64
  5. 点"确定"
  6. 选择"Red Hat VirtIO SCSI controller"
  7. 点"下一步"

结果:现在能看到"驱动器0 未分配的空间 XX.X GB"

4. 处理分区错误(如遇到)

如果提示"Windows无法安装到这个磁盘…",按Shift + F10打开命令行:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
diskpart
list disk
select disk 0
clean                    # 清空磁盘
create partition primary # 创建主分区
format fs=ntfs quick     # 快速格式化
assign letter=c          # 分配盘符
active                   # 标记为活动分区(SeaBIOS需要)
exit
exit

刷新安装界面,重新选择硬盘。

5. 开始安装

  1. 选中"驱动器0 未分配的空间"
  2. 点"下一步"
  3. 等待安装(15-30分钟)
  4. 自动重启几次
  5. 完成初始设置

五、安装VirtIO驱动

为什么需要装驱动

装完系统会发现:

  • ❌ 没有网络(设备管理器显示"以太网控制器"黄色叹号)
  • ❌ 某些硬件功能不可用

一键安装(推荐)

  1. 进入Win10系统
  2. 打开"此电脑"
  3. 双击VirtIO驱动光盘(D: 或E:)
  4. 运行 virtio-win-guest-tools.exe
  5. 一路Next安装
  6. 重启系统

会自动安装

  • ✅ 网卡驱动(NetKVM)
  • ✅ 硬盘驱动(vioscsi)
  • ✅ 气球驱动(Balloon,动态内存)
  • ✅ QEMU Guest Agent

装完后网络恢复正常。

六、网络架构选择

我的配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
外网
路由器
┌────────────────────────┐
│  物理主机 (i5-8400)    │
│  ├─ 板载网口 → 飞牛直通│
│  └─ PCIe网卡 → vmbr0 ──┼─→ PVE管理
│                         │   ↓
│                         │   Win10(虚拟网卡)
└────────────────────────┘

性能对比

传输路径虚拟网卡速度直通网卡速度
Win10 → 飞牛300-500 MB/s50-80 MB/s
Win10 → 外网118 MB/s118 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系统内:

  1. 右键"此电脑" → 属性
  2. 点"远程设置"
  3. ✅ 勾选"允许远程连接到此计算机"
  4. 确定

获取IP地址

Win10中按 Win + R → 输入 cmd → 输入:

1
ipconfig

记下IPv4地址(如192.168.1.101)

从其他设备连接

Windows电脑

1
2
Win + R → 输入 mstsc
输入Win10 IP → 连接

Mac电脑

  • App Store下载"Microsoft Remote Desktop"

Linux电脑

  • 使用Remmina、Vinagre等RDP客户端

性能对比

连接方式延迟画质适用场景
PVE控制台200ms+模糊安装/救急
远程桌面<10ms完美日常使用

常见问题

1. UEFI启动失败

错误信息

1
2
failed to load Boot0004 "UEFI QEMU HARDDISK"
Start PXE over IPv4

原因:选了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. 网卡模型选择

模型性能兼容性
e1000100 Mbps
e1000e1 Gbps
VirtIO10+ Gbps需装驱动

建议:统一使用VirtIO,安装对应驱动。

总结

核心要点

  1. Win10用SCSI接口(性能好,和飞牛的SATA不同)
  2. 必须手动加载VirtIO驱动(安装时和系统装完后)
  3. 日常使用远程桌面(RDP),不要用PVE控制台
  4. 合理分配资源: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

🄯 2025 - 2026 DeerStar的博客· 0Days
共书写了50.5k字·共 14篇文章
本站总访问量 · 访客数

DeerStar的一些笔记
使用 Hugo 构建
主题 Stack ModIce Year 设计
🄯 Licensed Under CC BY-NC-SA 4.0