检查VT在BIOS中是否启用
代码语言:txt复制egrep -c '(svm|vmx)' /proc/cpuinfo
结果返回0,表示VT没有在BIOS中打开或者CPU不支持虚拟化。
代码语言:txt复制sudo apt install cpu-checker
kvm-ok
结果如下
代码语言:txt复制INFO: /dev/kvm exists
KVM acceleration can be used
说明打开了VT-d
安装KVM
代码语言:txt复制sudo apt install qemu qemu-kvm libvirt-bin bridge-utils virtinst virt-manager
- qemu-kvm:为 KVM 管理程序提供硬件模拟的软件程序
- libvirt-bin:管理虚拟化平台的软件
- bridge-utils:用来配置网络桥接的命令行工具
- virtinst:用来创建虚拟机的命令行工具
- virt-manager:提供一个易用的图形界面,并且通过libvirt 支持用于管理虚拟机的命令行工具
配置网桥
修改/etc/netplan文件夹下的01-network-manager-all.yaml文件:
代码语言:txt复制network:
version: 2
renderer: NetworkManager
ethernets:
eno1:
dhcp4: no
dhcp6: true
bridges:
br0:
interfaces: [网卡名称]
dhcp4: no
addresses: [XXX.XXX.XXX.XXX/24, ]
gateway4: XXX.XXX.XXX.XXX
nameservers:
addresses: [XXX.XXX.XXX.XXX, XXX.XXX.XXX.XXX]
保存后运行:
代码语言:txt复制sudo netplan apply
创建虚拟机
创建Win10虚拟机
GUI:可以通过virtual Machine Manager创建虚拟机
SHELL:
代码语言:txt复制virt-install
--name win10 虚拟机名字
--memory 2048 内存大小
--vcpus sockets=1,cores=1,threads=2 插槽、核心、线程
--cdrom=/path/to/windows_10.iso 安装镜像的路径
--os-variant=win8.1 安装操作系统的种类
--disk /path/to/win10/win10.qcow2,bus=virtio,size=40 硬盘存放位置,识别硬盘的方式及大小设置。存储磁盘类型有:qcow2(支持快照),raw(不支持快照)
--disk /path/to/virtio/virtio-win-0.1.126_amd64.vfd,device=floppy 设置virto的识别硬盘
--network bridge=br0,model=virtio 指定虚拟机⽹络类型,默认nat,常⽤bridge
--graphics vnc,password=psw,port=XXXX,listen=:: 设置vnc远程访问密码、端口和监听地址(0.0.0.0)
--hvm
--virt-type kvm \ 指定虚拟机类型(kvm、qemu、xen)
输入后shell中会出现:
代码语言:txt复制Starting install...
Creating domain...
Domain installation still in progress. Waiting for installation to complete.
安装Win10虚拟机
通过VNC远程桌面连接虚拟机所在主机的XXXX端口,进行安装。安装过程中可嫩不够会识别不到硬盘,修复方式如下:
安装成功后在虚拟机中加载安装virto驱动的ISO,如下图所示:
加载成功后在虚拟机中运行ISO中的可执行文件自动安装相关驱动。
virto下载地址
KVM管理命令
查看网络
代码语言:txt复制brctl show
列出所有虚拟机
代码语言:txt复制virsh list --all
显示虚拟机信息
代码语言:txt复制virsh dominfo kvm-1
关闭虚拟机
代码语言:txt复制virsh shutdown kvm-1
删除虚拟机
代码语言:txt复制virsh undefine kvm-1
……
参考资料
https://zhuanlan.zhihu.com/p/137118585
https://linuxhint.com/install_virtio_drivers_kvm_qemu_windows_vm/
https://blog.51cto.com/10802692/2414758
https://blog.csdn.net/wh211212/article/details/74908390