Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

B.3. ゲスト仮想マシンを起動できません。 internal error guest CPU is not compatible with host CPU

現象
Intel Core i7 プロセッサーで実行する( virt-managerNehalem、または Penrynと呼ばれる古い Core 2 Duo)は、virt-manager を使用して KVM ゲスト(またはドメイン)を作成します。インストール後に、ゲストのプロセッサーがホストの CPU に一致するように変更されます。その後、ゲストは起動できず、以下のエラーを報告します。
2012-02-06 17:49:15.985+0000: 20757: error : qemuBuildCpuArgStr:3565 : internal error guest CPU is not compatible with host CPU
さらに、virt-managerCopy host CPU 設定 をクリックすると、Nehalem または Penryn ではなく Pentium が表示されます。
調査
/usr/share/libvirt/cpu_map.xml ファイルには、各 CPU モデルを定義するフラグが一覧表示されます。Nehalem および Penryn 定義には、以下が含まれます。
<feature name='nx'/>
その結果、NX (または No eXecute)フラグを指定して、CPU を Nehalem または Penryn として識別する必要があります。ただし、/proc/cpuinfo にはこのフラグがありません。
解決方法
新しい BIOS のほとんどは、No eXecute ビットを有効または無効にできます。ただし、無効にすると、一部の CPU はこのフラグを報告しないため、libvirt は別の CPU を検出します。この機能を有効にすると、libvirt に正しい CPU を報告するように指示します。この件に関する詳細は、ハードウェアのドキュメントを参照してください。