Ubuntu 使用 KVM 安装 windows11 虚拟机
1、Ubuntu 安装相关组件
sudo apt-get update
sudo apt -y install libvirt-dev
sudo apt -y install libvirt-daemon-system
sudo apt -y install libvirt-clients
sudo apt -y install virtinst
sudo apt -y install virt-manager
sudo apt -y install qemu-kvm
sudo apt -y install bridge-utils
lsmod | grep kvm
systemctl start libvirtd
systemctl enable libvirtd
systemctl list-unit-files |grep libvirtd.service
# 查看
systemctl is-active libvirtd
...
active
...
# 查看
lsmod | grep kvm
...
kvm_intel 487424 10
kvm 1404928 9 kvm_intel
irqbypass 12288 11 kvm
...
systemctl start libvirtd
systemctl enable libvirtd
# 查看
systemctl list-unit-files |grep libvirtd.service
...
libvirtd.service enabled enabled
2、新建网卡
1、创建新的以太网桥
brctl addif br0 eno1
2、网桥配置ip
ifconfig br0 172.1.1.143 netmask 255.255.255.0 up
3、向现有网桥添加接口
brctl addif br0 eno1
注意:如果已经桥接了其他网桥,执行 nmcli connection 查看
$ nmcli connection
NAME UUID TYPE DEVICE
youxian 3d58a641-2f6c-4cfb-924s-787d37cff1fa ethernet eno1
br0 df0dc697-e8d2-4585-95de-9b01d1548ff2 bridge br0
br-a1f5cb3a27a1 ab60cc9c-b2f9-43d8-bd42-867b23c3ce7c bridge br-a1f5cb3a27a1
lo 88c2fe2a-69bf-48d3-94b9-2e73991eb311 loopback lo
docker0 42fe759d-54b9-46cb-b9de-7e352ba28aae bridge docker0
virbr0 2f4b8e47-0d07-4154-a31f-442f47e345f7 bridge virbr0
再执行 nmcli c de xxx 删除网桥xxx
最后再网桥添加接口
brctl addif br0 ens9f0
3、创建虚拟机
virt-install \
--virt-type=kvm \
--name win11 \
--ram 16384 \
--vcpus=8 \
--os-variant=win10 \
--cdrom=/vm/windows11/windows_11_business_editions_version_24h2_2024_x64_dvd_29061b8c.iso \
--network=bridge=br0,model=virtio \
--graphics vnc,listen=0.0.0.0 --noautoconsole \
--disk path=/vm/data/win11/win11.qcow2,size=100,bus=virtio,format=qcow2
# 出现这样表示已经完成
Starting install...
Allocating 'win11.qcow2' | 15 MB 00:00:19 ...
Creating domain... | 0 B 00:00:00
Domain is still running. Installation may be in progress.
You can reconnect to the console to complete the installation process.
查看虚拟机
virsh list --all
...
Id Name State
-----------------------
3 win11 running
4、安装win11
这里不过多讲述,安装过程中遇到的坑记录一下
1、此电脑不支持,
这个情况需要shift+f10命令窗口进行添加
这里提供参考文档:https://blog.csdn.net/qq_38264240/article/details/121442084
2、扫描不到硬盘
此步骤参考:https://www.cnblogs.com/suixinnan/p/18168347
virsh domblklist win11
virsh change-media win11 sda /devlan/tools/win/virtio-win-0.1.266.iso
找到对应型号的驱动进行加载
安装时切换回自己的镜像
然后就能看到磁盘啦
5、命令
定义:virsh define xxx.xml xxx为xml文件所在的路径及文件名称,在当前目录下则不写路径
启动:virsh start xyz xyz为虚拟机xml配置文件中虚拟机的名字
停止:virsh shutdown xyz 此方法为正常关机方法,需要一段才能关机
下电:virsh destroy xyz 此方法为暴力下电,虚拟机立即关闭
删除:virsh undefine xxx 关闭了的虚拟机,只是不在运行状态而已,通过virsh undefine xxx就能从virsh列表里面(virsh list查看当前系统中的虚拟机列表,详见第2.4节)将其删除,undefine命令不会删除镜像文件和xml文件。运行状态的虚拟机是不能删除的。
临时起虚拟机:virsh create xxx.xml 此方法为方便开发调试等临时需求,不会持久化,虚拟机关机后就消失了,不推荐生产系统使用。
*查看**VNC端口:***virshvncdisplay xx 查看VNC端口,其中xx可通过virsh list查看