Kvm-Virtualization

如何在 Linux 中啟用 KVM 設備直通?

  • September 29, 2019

我有一塊 MSI-GD65 遊戲主機板和一塊 Intel i7 4790。在 BIOS 的 CPU 功能部分啟用了 VT-D。

我正在執行 Ubuntu 14.04.1 LTS,當我嘗試分離設備時,我收到以下消息:

virsh nodedev-detach pci_0000_00_1f_2

> > 錯誤:無法分離設備 pci_0000_00_1f_2 錯誤:不支持操作:此系統目前不支持 VFIO 和 KVM 設備分配 > > >

Dmesg 包含有關 IOMMU 的一些資訊,但我不知道這是否意味著啟用了 VT-D

$ dmesg | grep -i iommu

> > $$ 0.027450 $$dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
> > $$ 0.027455 $$dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap d2008020660462 ecap f010da
> > $$ 0.027521 $$DRHD 基礎 0xfed91000 IOMMU 1 下的 IOAPIC id 8 >

誰能告訴我需要做什麼才能在這個系統上啟用 VT-D 並通過 PCI 設備傳遞給 KVM 來賓?

此問題的解決方案是在您的 GRUB 引導參數中啟用 IOMMU。

您可以通過在 /etc/default/grub 中設置以下內容來做到這一點

GRUB_CMDLINE_LINUX_DEFAULT=“intel_iommu=on”

如果您使用的是 AMD 處理器,則應amd_iommu=on改為附加到引導參數

GRUB_CMDLINE_LINUX_DEFAULT=“安靜飛濺 amd_iommu=on”

然後執行update-grub並重啟

這個連結對我幫助很大:https ://www.centos.org/forums/viewtopic.php?f=47&t=48115

另請參閱:https ://pve.proxmox.com/wiki/Pci_passthrough

這讓我有些困惑,因為我認為 iommu 是 VT-D 的 AMD 替代品。

引用自:https://serverfault.com/questions/633183