intel_iommu=on,但沒有 iommu_groups

intel_iommu=on,但沒有 iommu_groups

我正在嘗試設定 VGA 直通。目前正在 Ubuntu 16.04 下嘗試此操作(但由於大多數不相關的挫敗感,我即將回滾到 vanilla Debian)。我主要是試圖跟隨本指南,但我堅持理解 IOMMU 分組,因為顯然我的機器不想分組。

我在核心命令列上設定了 intel_iommu=on ,並且可以透過「cat /prod/cmdline」進行驗證。但是,「find /sys/kernel/iommu_groups/ -type l」找不到任何內容,並且「ls /sys/kernel/iommu_groups」顯示一個空目錄。儘管進行了谷歌搜索,但我沒有找到太多關於如何從這裡解決這個問題的指導,而且在此之前,還沒有嘗試過這麼多愚蠢的硬體技巧,所以對PCI 總線進行故障排除對我來說​​是新的。

就硬體而言,這台機器在 Asus X99 E-WS 主機板上配備了 Intel E5-1650 v3,並配有 Nvidia Quadro K4000 和 GTX 970。很高興提供 lspci 或 virsh ondedev-list 輸出,如果這有幫助的話,但最初沒有把它放在這裡,因為它很長,而且我認為我還沒有達到有幫助的程度;據我所知,關於 iommu 被打開的事情有些謊言

編輯:所以它被報道為:

$ dmesg | grep -e DMAR -e IOMMU
[    0.000000] DMAR: IOMMU enabled
[    0.000000] DMAR: IOMMU enabled

而我更迷失了;如果它沒有啟用,可能是我的一些愚蠢的 grub 或核心模組錯誤。但我真的不清楚如何處理它,但沒有按照其他資源所說的去做。

答案1

我知道這已經太晚了,但檢查 VT-d 是否已啟用可能會很棘手,具體取決於您使用的 UEFI Bios。對於我的 Asus X99A USB 3.1 主機板,VT-x 和 VT-d 的設定位於不同的位置。

對於 VT-d:高級 => 系統代理程式配置 => 用於定向 I/O 的英特爾 VT (VT-d)

在我的系統上,即使啟用了 VT-x(在「進階 => CPU 配置 => Intel 虛擬化技術」下),該選項仍設定為「停用」。

確保兩者均已啟用

答案2

我也遇到了同樣的問題,檢查BIOS設定後發現VT-d已被禁用。我啟用了該選項並解決了問題。也許您可以查閱主機板或晶片組手冊,了解您的機器是否支援 intel vt-d。

答案3

我在 Ubuntu Linux 22 上遇到了這個問題,我也在 UEFI BIOS 中找到了這個問題的解決方案。我使用的是 AMD 3950x,因此依賴 AMD-V 而不是 VT-d。我的主機板是 Asrock X570 Phantom Gaming X,需要在 UEFI 中檢查虛擬化和 IOMMU 的 (3) 個位置,如下所示:

1.) Advanced > CPU Config > PSS Support > Enabled //預設啟用

2.) 進階 > 板載設備配置 > SR-IOV 支援 > 啟用 //預設為停用

3.) Advanced > Super IO Config > IOMMU > Enable //預設為停用

儲存並退出,但我找不到已填充的 IOMMU 群組。

相關內容