
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 <[email protected]>
[ 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"
答え1
http://wiki.xen.org/wiki/VTd_HowTo:
チップセットがIOMMUをサポートしていても、それを使用するにはBIOSにACPI IVRSテーブルが必要です!したがって、実際のサポートはマザーボードの製造元によって異なります。この記事を書いた時点で、すべてのマザーボードにIOMMUをサポートする(ベータ)BIOSがあるようです。
970チップセット自体が仮想化をサポートしているように見えますが、BIOSもそれをサポートする必要があります。また、あなたのマザーボードがこれに関連して機能することが知られているとマークされていません。
だから仮想化をサポートしていないようです。
私はGA-990FXA-UD3とGA-990FXA-UD5を使ってみました。どちらもkvmをうまく実行します。
答え2
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で無効なIOMMU設定を修正するには、別のスレッドにある私のガイドに従ってください。 https://ubuntuforums.org/showthread.php?t=2188370&page=3&p=13620494#post13620494
または以下を読んでください:
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"
グラップアップデート:
sudo update-grub
システムを再起動し、DEL / Deleteキーを押してBIOS / EUFI設定に入ります。
IOMMUが有効になっていること、XHCIスイッチングが有効になっていること、EHCIスイッチングが無効になっていること、USBレガシーサポートが有効になっていることを確認してください。
OSタイプをWindows8に設定しましたが、CSM「互換性サポートモジュール」を有効にして、LinuxにUEFIの代わりにBIOSエミュレーションを介して起動するようにしました。
BIOS/UEFI 設定を保存して終了します。これで、LinuxでIOMMUを正しく使用できるようになりました。