- 安装vfio软件包
在终端中输入以下命令:
sudo apt-get update
sudo apt-get install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager ovmf
sudo apt-get install -y qemu-utils
sudo apt-get install -y libguestfs-tools
sudo apt-get install -y libosinfo-bin
sudo apt-get install -y python3-libvirt
sudo apt-get install -y python3-pip
sudo pip3 install virtualenv
- 配置vfio驱动
第一步:编辑 /etc/initramfs-tools/modules 文件,添加 vfio 和 vfio_iommu_type1 模块。
sudo nano /etc/initramfs-tools/modules
在文件末尾添加以下两行:
vfio
vfio_iommu_type1
保存并退出。
第二步:编辑 /etc/default/grub 文件,在 GRUB_CMDLINE_LINUX_DEFAULT 变量中添加 iommu=pt intel_iommu=on(如果是AMD CPU,则替换为 amd_iommu=on)。
sudo nano /etc/default/grub
找到以下这一行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
将其修改为:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt intel_iommu=on"
保存并退出。
第三步:更新 grub 配置。
运行以下命令更新 grub 配置:
sudo update-grub
第四步:更新 initramfs。
运行以下命令更新 initramfs:
sudo update-initramfs -u
- 配置 libvirt
第一步:编辑 /etc/libvirt/qemu.conf 文件,取消注释以下两行:
user = "root"
group = "root"
保存并退出。
第二步:重启 libvirt 服务。
运行以下命令重启 libvirt 服务:
sudo systemctl restart libvirtd
- 配置虚拟机
在创建或编辑虚拟机时,需要将其配置为使用 vfio 驱动。可以使用 virt-manager 来创建和编辑虚拟机。
第一步:为虚拟机添加 PCI 设备。
在 virt-manager 中选择要编辑的虚拟机,点击“Add Hardware”按钮。
选择“PCI Host Device”,然后选择要分配给虚拟机的 PCI 设备。
第二步:将虚拟机配置为使用 vfio 驱动。
右键点击要编辑的虚拟机,选择“Open”.
在弹出的窗口中,选择“XML”选项卡。
找到以下这一行:
<driver name='qemu' type='raw'/>
在此行下方添加以下三行:
<features>
<iommu mode='on'/>
</features>
<rom bar='off'/>
<boot order='1'/>
保存并退出。
- 测试 vfio 驱动
启动虚拟机,并登录到其中一个 Linux 终端中。
运行以下命令以查看 vfio 驱动是否正在使用:
dmesg | grep -e DMAR -e IOMMU