win11 虚拟机安装
八月 26, 2025 更新: 八月 10, 2026 [虚拟化与容器] #win11 #virtio #libvirt #kvm虚拟机安装
安装一个win11专业版本
账户配置
- 登录foo@outlook.com账户, 可选修改在线账户密码
- 在设置中开启rdp(需要win11 专业版)
- 创建本地账户 , 并配置为administrator权限
- xfreerdp /v:192.168.122.79:3389 /u:peter.l +clipboard /dynamic-resolution 就可以正常远程登录了
配置office
https://github.com/OdysseusYuan/Mocreak
virtio 驱动改造排查(2026-08)
背景:虚拟机感觉慢,检查配置发现磁盘是 SATA 模拟、网卡是 e1000e 模拟,都没有用 virtio 半虚拟化。
| 设备 | 原配置 | 应改为 |
|---|---|---|
| 磁盘 | bus='sata' | virtio-blk |
| 网卡 | e1000e | virtio-net |
| 内存 | currentMemory 仅 5G(上限 10G) | 直接给满 10G |
| CPU | sockets=6 × 1 core | sockets=1 × 6 cores |
1. 下载 virtio-win 驱动 ISO
# fedorapeople 稳定版地址会 301 到 archive-virtio 的固定版本
curl -L -o /var/sharing/iso/virtio-win-0.1.285.iso \
"https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso"
2. 挂载光驱的坑:LSI SCSI 控制器
virsh attach-disk 不加参数时,新光驱默认挂到 LSI SCSI 控制器(scsi-cd on scsi0.0),而 Windows 11 没有 LSI 控制器驱动(Win10 才有内置 symmpi),结果光驱在 Windows 里完全不可见。
正确做法:显式指定 SATA 总线(与系统盘同一个控制器):
virsh attach-disk window11 virtio-win.iso sdc --type cdrom --mode readonly \
--targetbus sata --config
注意 SATA 不支持热插拔,--config 后需要重启虚拟机才生效(关机再启动,ACPI reboot 信号可能不生效)。
3. 安装驱动的坑:guest-tools.exe 报 0x80070643
- 直接从光驱运行
virtio-win-guest-tools.exe→ 报错Setup Wizard ended prematurely - 复制到 C 盘运行 → 报错
0x80070643 安装时发生严重错误(MSI 包安装器自身问题) - 绕过方案:右键 INF 安装
viostor/w11/amd64/viostor.inf、NetKVM/w11/amd64/netkvm.inf,再用 pnputil 确认入库(oem23.inf/oem20.inf)
4. 切换 virtio 后蓝屏 0x7b:viostor 服务未注册
切到 virtio-blk 后启动蓝屏 INACCESSIBLE BOOT DEVICE (0x7b),自动修复失败、甚至落到光驱启动安装器。
根因:驱动包入库 ≠ 服务注册。
pnputil /add-driver → 只把驱动包暂存到驱动库(oem23.inf)
viostor 服务(SCM 注册)只有匹配的设备出现时才会创建
→ 当前还是 SATA 引导,没有 virtio 设备,viostor 服务一直不存在(sc qc viostor → 1060)
→ winload 引导时找不到磁盘启动驱动 → 0x7b
dism /online /add-driver 是正确工具,但本机报错 50("此命令只能与脱机映像一起使用",DISM 在线服务组件不可用)。
5. 正确的手动注册方案(未采用,已回退)
copy E:\viostor\w11\amd64\viostor.sys C:\Windows\System32\drivers\
sc create viostor type= kernel start= boot error= normal binPath= System32\drivers\viostor.sys
# 网卡同理
copy E:\NetKVM\w11\amd64\netkvm.sys C:\Windows\System32\drivers\
sc create netkvm type= kernel start= boot error= normal binPath= System32\drivers\netkvm.sys
验证:sc qc viostor 的 START_TYPE 应为 0x0 (BOOT_START)。
结论
- 已回退到 SATA + e1000e 原始配置(保证可用)
- 保留优化:内存 10G、CPU 1 socket×6 cores
- 教训:
attach-disk挂光驱要显式--targetbus sata,否则挂到 Win11 无驱动的 LSI 控制器上- virtio 磁盘驱动必须注册为 BOOT_START 服务才能引导,驱动包入库不等于可引导
- 多次强制关机/失败引导会触发 Windows 自动修复流程,干扰判断,排查时先摘掉可引导的光驱