Я включил svm и iommu в BIOS, но я получаю сообщение «недоступно» из 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
[ 4.271168] AMD IOMMUv2 functionality not available on this system
bios настройки:
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"
Похоже, у вас 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, доступный через материнскую плату.
Следуйте моему руководству в этой другой теме, если вы хотите исправить неправильную конфигурацию IOMMU в grub: https://ubuntuforums.org/showthread.php?t=2188370&page=3&p=13620494#post13620494
or read below:
Edit Grub config:
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 handoff включен, EHCI handoff отключен, поддержка USB Legacy включена.
Тип ОС я выбрал Windows8, но у меня включен CSM "Compatibility Support Module", поэтому Linux будет загружаться через эмуляцию BIOS вместо UEFI.
Сохраните и выйдите из настройки BIOS/UEFI. Теперь вы должны быть в состоянии использовать IOMMU правильно под Linux.