我在bios中启用了svm和iommu,但是我从dmesg获得了“不可用”:
# root@xen:~# dmesg |grep -i iommu
[ 0.000000] Command line: placeholder root=UUID=4965005e-54e9-47b9-92ff-04f469927bf8 ro amd_iommu=on iommu=soft iommu=pt iommu=1 quiet
[ 0.000000] Kernel command line: placeholder root=UUID=4965005e-54e9-47b9-92ff-04f469927bf8 ro amd_iommu=on iommu=soft iommu=pt iommu=1 quiet
[ 4.271167] AMD IOMMUv2 driver by Joerg Roedel <joerg.roedel@amd.com>
[ 4.271168] AMD IOMMUv2 functionality not available on this systembios设置:


系统信息:
root@xen:~# uname -a
Linux xen 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux
root@xen:~# dmidecode |grep -i product
Product Name: To be filled by O.E.M.
Product Name: GA-970-Gaming SLI-CF
root@xen:~# grep Processor /proc/cpuinfo |tail -1
model name : AMD FX(tm)-8300 Eight-Core Processor
root@xen:~# grep iommu /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=soft iommu=pt iommu=1 quiet"发布于 2016-05-15 01:44:10
http://wiki.xen.org/wiki/VTd_HowTo:
即使芯片组支持IOMMU,bios也必须有一个ACPI IVRS表才能使用它!因此,实际的支持取决于主板制造商。在编写本报告时,所有主板似乎都有支持IOMMU的(beta)bios。
虽然970芯片组本身似乎支持虚拟化,但它也必须得到bios的支持。此外,我没有发现你的主板被列为已知的工作在这方面。
因此,看起来它不支持虚拟化。
我有使用GA-990FXA-UD3和GA-990FXA-UD5的经验--它们都运行kvm非常好。
发布于 2017-03-14 20:58:13
看来您已经同时启用了amd_iommu=on iommu=soft iommu=pt iommu=1 quiet。情况不应如此。我建议您编辑grub,并且只启用quiet、amd_iommu=on和iommu=pt。似乎您正在错过splash,但您可能不想要的飞溅屏幕无论如何。
同时启用iommu=pt (通过模式)和iommu=soft (软件模式)将导致冲突,因为您应该只使用其中一种。我建议使用iommu=pt (通过模式),因为它将使用真正的IOMMU通过主板。
如果您想纠正grub:https://ubuntuforums.org/showthread.php?t=2188370&page=3&p=13620494#post13620494中的IOMMU错误配置,请遵循我在另一个线程上的指导。
或者读到下面:
编辑Grub配置:sudo nano /etc/default/grub
编辑如下行:GRUB_CMDLINE_LINUX_DEFAULT="amd_iommu=on iommu=soft iommu=pt iommu=1 quiet"
删除语音标记中的内容,并在其旁边添加"quiet splash amd_iommu=on iommu=pt",所以现在行如下所示:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_iommu=on iommu=pt"
更新grub:sudo update-grub
重新启动系统并按DEL / Delete键进入BIOS/EUFI安装程序:
确保启用IOMMU,启用XHCI切换,禁用EHCI切换,启用USB遗产支持。
我已经将OS类型设置为Windows8,但我启用了CSM“兼容性支持模块”,因此Linux将通过BIOS仿真启动,而不是UEFI。
保存并退出BIOS/UEFI设置。现在,您应该能够在Linux下正确地使用IOMMU。
https://unix.stackexchange.com/questions/283212
复制相似问题