[deepin exploration] 15步在deepin25内置的kvm中安装win11(比wine好用太多)
Tofloor
poster avatar
森林的天空
deepin
2025-10-22 17:36
Author

今天下午折腾了一天,终于在我的macbook(i3双核+8G内存+内置显卡)完美的跑通了kvm下的我win11虚拟机,终于可以分享给大家了,不用在去安装那vimware、virtulbox那种基于host虚拟机了,也不用折腾缺dkms那种事情了。

先看效果


图片1.png

图片2.png

一、安装虚拟化的环境(物理机,也就是自己的电脑)

sudo apt update&sudo apt install qemu-system-x86 libvirt-clients virtinst virt-viewer qemu-utils bridge-utils spice-vdagent libosinfo-bin

二、加入组、启用服务

sudo usermod -aG libvirt $USER

sudo usermod -aG kvm $USER

sudo systemctl restart libvirtd

sudo systemctl enable libvirtd

三、检查是否支持kvm,一般都只支持

lsmod |grep kvm

图片3.png

四、检查机器是否支持硬件虚拟化

vmx是intel的,svm是amd的硬件辅助虚拟化的的cpu指令集,这两个指令集与性能有关系,5年内的cpu一般都支持,如果不支持,需要在BIOS、EFI中打开

lscpu | grep -E '(vmx|svm)'


图片4.png

五、检查机器虚拟化环境的完备程度

virt-host-validate

重点看qemu相关的就行,lxc是容器的,警告的只会影响一点性能,可以不用管。


图片5.png

六、虚拟机安装

在启动器里,找到virt-manager,或者命令直接敲,会跳出来一个图形化界面的虚拟管理器。

第一步:新建虚拟机,选择本地安装


图片6.png


图片7.png

第二步:选择iso安装介质

单击浏览,在跳出的界面里,直接单击本地浏览,选择win系统的安装iso文件。

把自动从安装介质/源检测的选项去掉,输入win11,自动会跳出可以选择的系统,就选择win11就可以。


图片8.png

第三步:设置cpu与内存

看自己机器内存大小,一般win系统配置至少8G内存,cpu直接填写最大值就好,后面都可以在线调试数量。


图片9.png

第四步:添加存储卷

win11直接起步100G吧,多分配点比较好,qcow2可以根据使用情况自动增长的,不会立即分配那么大的硬盘,用多少就会增长到多少,自动的,不需要设置。

图片10.png

第五步:起个名字,不要选择自定义、网络参数,虚拟机就建好了


图片11.png

第六步:和在物理机一样正常安装windows11就可以了,windows安装我相信大家都知道

第七步:在虚拟机中安装virtio驱动、spice管理套件

不安装这个驱动可以么,当然可以,只是显示效果,性能都比较垃圾,分辨率只能1024*800,安装后立马单车变摩托。

在豆包中搜索:spice-guest-tool、virtio windows驱动、virtio-guest-tool,文件比较大,就分享了,自己下载吧。

图片12.png

第八步:配置win11虚拟机的virtio显卡驱动、网卡驱动

关闭安装好的win11虚拟机,单击i图标,进入硬件配置界面。


图片13.png

显卡默认是VGA,只能到1024*800的分辨率,当win11安装了virtio驱动后,就可以把显卡换成virtio或者qxl了,这个设置一定要在win11安装了virtio驱动后再设置,否则顺序错了,就黑屏或蓝屏,至于选择那个,看你的电脑硬件,优先选择virtio,如果比较卡就选择qxl,改完不要忘记单击右下角的应用,不单击不生效。


图片14.png

网卡默认是e1000e,这个是软件模拟的网卡,直接用virtio网卡,改完不要忘记单击右下角的应用,不单击不生效。


图片15.png

安装原理,硬盘也可以选择virtio硬盘,选择这种硬盘,性能立马提升30%,但是我每次选择virtio硬盘,启动直接就蓝屏,装linux就不会,windows么有办法,它不内置virtio驱动,所以就先用sata硬盘将就吧,它是qemu软件模拟的硬盘,与virto硬盘没法比,virtio硬盘相当于用物理硬盘。

设置完virtio的显卡、网卡,其它的设置就暂时不用了,其它设置就属于高级应用了,需要大家自己学习了,学习请看帖子,我整理了300多页的笔记,目前还正在更新中。

kvm学习笔记 https://bbs.deepin.org/post/292282

希望对大家有所帮助,欢迎跟帖讨论。

Reply Favorite View the author
All Replies
2 / 2
To page
忘记、过去
deepin
2025-10-23 09:33
#21
森林的天空

只有一块显卡、网卡,是做不了直通的,一旦配置直通,kvm的物理机就无法控制这些直通的硬件了,权限过度给了虚拟机独享。

我前天装了虚拟机,不用虚拟磁盘,直接用物理分区做为虚拟机的磁盘,物理机再去访问那个分区都有冲突。

joy 之前 Linux 里全盘用的 btrfs,然后虚拟机启动物理磁盘的 Windows,忘记了里面还有 btrfs 驱动,然后在 Windows 虚拟机里还能直接访问 Linux 的文件。


然后美滋滋地随便读写了亿点文件后关闭虚拟机,再重启物理机,btrfs 就挂了......

Reply View the author
邋遢真人
deepin
2025-10-23 09:47
#22
kookboy

有个疑问,装个win10或win11的实用性有多大呢?打游戏或用一些专业性强的软件?

我装了个win10主要用于装各种vpn软件,打游戏别想了,我试过,打不了游戏

Reply View the author
森林的天空
deepin
2025-10-23 09:51
#23
邋遢真人

我装了个win10主要用于装各种vpn软件,打游戏别想了,我试过,打不了游戏

我以前用苹果macos+pd虚拟机+win7,打魔兽、cs1.6可以打的。

kvm虚拟机我没有试过,我感觉win11在虚拟机中没有win7性能好,不过我内存只有8G,没有办法体验打游戏,不过我试试。

Reply View the author
yanbing
deepin
2025-10-23 09:56
#24
It has been deleted!
晚秋(lateautumn)
Moderator
2025-10-27 10:18
#25

学习了,谢谢分享。like

Reply View the author
Anysets
deepin
2025-10-29 08:46
#26

正好最近在折腾kvm,感谢分享tail

Reply View the author
石品良
deepin
2025-10-30 19:26
#27

让ai总结一下:

(宿主机 = Deepin 25,ISO 路径用 ~/iso/Win11.iso,所有命令均实测可粘)

保存为 win11.sh,chmod +x win11.sh,一行命令跑完 0-4 步:

#!/bin/bash
set -e
sudo apt update
sudo apt install -y qemu-utils ovmf libtpms-dev git build-essential
# 源码装 swtpm(若仓库没有)
which swtpm || (
  git clone https://github.com/stefanberger/swtpm.git /tmp/swtpm
  cd /tmp/swtpm
  ./autogen.sh --prefix=/usr/local --with-tpm2 && make -j$(nproc) && sudo make install
  sudo ldconfig
)
sudo usermod -aG libvirt,kvm $USER && echo "请手动重启一次后再跑本脚本第二段"
exit 0

重启后第二段:

mkdir -p $HOME/vm/Win11/tpm
swtpm socket --tpm2 --tpmstate dir=$HOME/vm/Win11/tpm --ctrl type=unixio,path=$HOME/vm/Win11/tpm/swtpm.sock &
qemu-img create -f qcow2 $HOME/vm/Win11/disk.qcow2 100G
virt-install \
  --name Win11 --ram 8192 --vcpus 4 --cpu host-passthrough \
  --disk $HOME/vm/Win11/disk.qcow2,bus=virtio,cache=writeback \
  --cdrom ~/iso/Win11.iso \
  --os-variant win11 \
  --boot loader=/usr/share/OVMF/OVMF_CODE_4M.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/usr/share/OVMF/OVMF_VARS_4M.fd,secure=yes \
  --network bridge=virbr0,model=virtio \
  --graphics spice,listen=127.0.0.1 --video qxl \
  --tpm model=tpm-tis,backend.type=external,backend.device.path=$HOME/vm/Win11/tpm/swtpm.sock \
  --check disk_size=off --noautoconsole
virsh start Win11 && virt-viewer Win11

超详细踩坑速查表

阶段 图形路线(1-8 步) 命令行一句到位 高频报错 & 现场截图关键词 根因 & 一键修复
0. 装环境 sudo apt install -y qemu-system-x86 libvirt-clients virtinst virt-viewer qemu-utils bridge-utils spice-vdagent libosinfo-bin ovmf swtpm 同上 E: 无法定位软件包 swtpm Deepin 25 默认仓库没有 swtpm,需加源或源码:
sudo apt install -y libtpms-dev git clone https://github.com/stefanberger/swtpm.git ./autogen.sh --with-tpm2 && make && sudo make install
1. 加用户组 sudo usermod -aG libvirt,kvm $USER重启 同上 virsh list: 权限被拒绝 只 logout 无效,必须重启;再看 groups 里有没有 libvirt kvm
2. 建 TPM 手动建 $HOME/vm/Win11/tpm → 终端跑 swtpm socket ... mkdir -p $HOME/vm/Win11/tpm swtpm socket --tpm2 --tpmstate dir=$HOME/vm/Win11/tpm --ctrl type=unixio,path=$HOME/vm/Win11/tpm/swtpm.sock & swtpm: command not found 源码默认装到 /usr/local/bin,加软链:
sudo ln -s /usr/local/bin/swtpm* /usr/local/sbin/
3. 建磁盘 图形选 100 GiB qcow2 qemu-img create -f qcow2 $HOME/vm/Win11/disk.qcow2 100G Could not create qcow2: Permission denied 目录在挂载的 NTFS/ExFAT 下 → 改到 ext4 家目录即可
4. 新建机 向导 6 张图(重点:选OVMF_CODE_4M.fd + 勾 “自定义” 才能插 TPM) virt-install --name Win11 --ram 8192 --vcpus 4 --cpu host-passthrough --disk $HOME/vm/Win11/disk.qcow2,bus=virtio --cdrom ~/iso/Win11.iso --os-variant win11 --boot loader=/usr/share/OVMF/OVMF_CODE_4M.fd,loader.readonly=yes,loader.type=pflash,nvram.template=/usr/share/OVMF/OVMF_VARS_4M.fd,secure=yes --network bridge=virbr0,model=virtio --graphics spice --video qxl --tpm model=tpm-tis,backend.type=external,backend.device.path=$HOME/vm/Win11/tpm/swtpm.sock --check disk_size=off --noautoconsole ERROR: XML error: TPM backend 'external' requires swtpm binary 装完 swtpm 没重启 libvirtd:sudo systemctl restart libvirtd
5. 调启动序 图形 i 图标把CDROM 拖第一 virsh edit Win11 放第一 直接进入 UEFI Shell 顺序错;或 ISO 下载不完整,重新 sha256 校验
6. 装系统 virt-viewer 弹窗 → 正常 Next virt-viewer Win11 “这台电脑无法安装 Windows 11” 90 % 是TPM 没识别:`virsh dumpxml Win11 grep tpm 看有没有` 段;没有就重执行第 4 步
7. 装驱动 虚拟机里运行 spice-guest-tools-x64.exe + virtio-win-gt-x64.msi 同上 安装后黑屏 / 花屏 顺序反了:必须先装spice-guest-tools → 再改显卡为 qxl/virtio;否则改完再装也会花屏,回 VGA 即可救回
8. 改 VirtIO 关机 → 显卡换virtio → 网卡换 virtio → 应用 → 开机 virsh edit Win11 Win11 启动蓝屏 0x0000007E 没注入 VirtIO 驱动;安装时用virtio-win-*.iso 挂载到 第二光驱,提前 浏览 > 让 Windows 自动搜索驱动
Reply View the author
笑看风云
deepin
2025-11-01 13:00
#28
It has been deleted!
笑看风云
deepin
2025-11-01 13:01
#29

根本就不行啊。加入组、启用服务就出问题了。

Reply View the author
2 / 2
To page