web-dev-qa-db-ja.com

intel_iommu = on、ただしiommu_groupsなし

VGAパススルーを設定しようとしています。現在Ubuntu 16.04でこれを試みています(ほとんど関係のないフラストレーションからバニラDebianにロールバックするところです)。私は主に このガイド に沿って従おうとしていますが、どうやら私のマシンはグループ化したくないので、IOMMUグループ化の意味を理解するのに行き詰まっています。

カーネルコマンドラインでintel_iommu = onを設定し、 'cat/prod/cmdline'で確認できます。ただし、「find/sys/kernel/iommu_groups/-type l」では何も検出されず、「ls/sys/kernel/iommu_groups」では空のディレクトリが表示されます。ぐずぐずしているにもかかわらず、私はこれをここから整理する方法について多くのガイダンスを見つけていません、そして今まで、これらの線に沿ってそれほど多くの間抜けなハードウェアトリックを試していなかったので、PCIバスのトラブルシューティングは私にとって新しいです。

ハードウェアに関する限り、このマシンは、Nvidia Quadro K4000とGTX 970を1つ備えたAsus X99 E-WSマザーボード上にIntel E5-1650 v3を搭載しています。970をホスト用に残し、K4000をVM専用にしようとしています。 lspciまたはvirshondedev-listの出力を提供できれば幸いですが、長いので最初はここに入れません。まだそれが役立つとは思いません。 私の知る限り、iommuがオンになっていることについて何かが嘘をついています

編集:したがって、次のように報告されています:

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

そして、私はさらに迷っています。それが有効にされていなかった場合、それは私の側のいくつかの愚かなgrubまたはカーネルモジュールの誤りであった可能性があります。しかし、私はそれがオンになっていることについて何をすべきかについて本当に分かりませんが、他のリソースが言うべきことをしていません。

5
duplicate_id

私はこれが遅いことを知っていますが、VT-dが有効になっていることを確認することは、使用しているUEFI BIOSによっては難しい場合があります。私のAsusX99A USB 3.1マザーボードの場合、VT-xとVT-dの設定は異なる場所にあります。

VT-dの場合:Advanced => System Agent Configuration => Intel VT for Directed I/O(VT-d)

私のシステムでは、VT-x(Advanced => CPU Configuration => Intel Virtualization Technology)が有効になっているにもかかわらず、これは無効に設定されていました。

両方が有効になっていることを確認してください

4
vman

同じ問題が発生しましたが、BIOS設定を確認したところ、VT-dが無効になっていることがわかりました。オプションを有効にして問題を解決しました。マザーボードまたはチップセットのマニュアルを調べて、お使いのマシンがインテルvt-dをサポートしているかどうかを確認することもできます。

1
xiaoDe