1. 什么是KVM
KVM(Kernel-based Virtual Machine的缩写),是内核内建的虚拟机,追求简便的运作。例如运行虚拟机仅需要加载相应的 kvm 模块,但是KVM需要芯片支持虚拟化技术(Intel的VT扩展,或是AMD的AMD-V 扩展)。
在KVM中,可以运行各种GNU/Linux,Windows 或其他系统镜像(例如FreeBSD,MacOS)。每个虚拟机都可以提供独享的虚拟硬件:网卡,硬盘,显卡等(虚拟机甚至可以直通主机设备,例如GPU PCI pass through)。
2. 准备KVM
KVM需要host的处理器支持虚拟化,通过下吗命令查看host是否支持
$ LC_ALL=C lscpu | grep Virtualization
例如我的AMD处理器显示:
Virtualization: AMD-V
注意:虚拟化支持可以在BIOS中开启。
3. 安装KVM
安装qemu, libvirt, ovmf, virt-manager
# pacman -S qemu libvirt ovmf virt-manager
- kvm 负责CPU和内存的虚拟化
- qemu 向Guest OS模拟硬件(例如,CPU,网卡,磁盘,等)
- ovmf 为虚拟机启用UEFI支持
- libvirt 提供管理虚拟机和其它虚拟化功能的工具和API
- virt-manager 是管理虚拟机的GUI
注 : 实际上,这步只需要安装qemu就可以使用虚拟机,但是qemu-kvm接口有些复杂,libvirt和virt-manager让配置和管理虚拟机更便捷。
开启libvirt服务
# systemctl enable libvirtd
# systemctl start libvirtd
将用户加入KVM组
# usermod -a -G kvm username
到现在,host上就已经配置好KVM环境了,接下来就可以使用qem/virt-manager 来安装你想要的虚拟机了。
接下来我将会介绍在虚拟机如何安装win10,macOS,并启用显卡直通。
KVM + MacOS
KVM 安装 win10
KVM + PCI Passthrough
参考资料
https://wiki.archlinux.org/index.php/KVM
https://wiki.archlinux.org/index.php/Libvirt