最近、私はVirtualBoxの代わりにKVM / Qemuを調べ始め、私が確認したほとんどすべてのLinuxシステムに自動的にロードされるように見える次の3つのモジュールを見つけて驚きました。
[pgoetz@frog etc]$ lsmod | grep kvm
kvm_intel 311296 0
kvm 778240 1 kvm_intel
irqbypass 16384 1 kvm
これらのシステムのいずれもkvm / Qemu仮想化を使用していないため、これは衝撃的です(一部はVirtualBox用に設定されています)。私が確認したシステムは、Arch Linux、Ubuntu 18.04、Ubuntu 19.10、およびCentOS 7.4を実行していました。 Ubuntu 19.10は、ソフトウェアが追加されていない新しいデスクトップインストールです。 KVMモジュールがロードされていない唯一のシステムは、Ubuntu 18.04.2(代替)サーバーのインストールでした。
多くのインターネット検索でこれらのモジュールをロードする理由は明らかにされていません。実験では、Ubuntu 19.10システムのBIOSでIntel VTを無効にしようとしましたが、まだkvmモジュールがロードされました(kvm_intelではありません)!
このモジュールをロードしても問題はありません。しかし、メカニズムが気になります。起動時にモジュールがどのように/なぜロードされますか?
答え1
モジュールが自動ロードされる理由を確認するには、モジュールのエイリアスを調べるのが最善です。
$ sudo modinfo kvm-intel|grep alias:
alias: cpu:type:x86,ven*fam*mod*:feature:*0085*
$ sudo modinfo kvm-amd|grep alias:
alias: cpu:type:x86,ven*fam*mod*:feature:*00C2*
これはkvm-intel
機能85h(X86_FEATURE_VMX
)とkvm-amd
C2h機能をサポートするCPUを搭載したシステム(X86_FEATURE_SVM
)。