B.3. ゲスト仮想マシンがスタートできずエラーが発生: internal error guest CPU is not compatible with host CPU

現象
Intel Core i7 プロセッサー (virt-managerNehalem として参照。または以前の Core 2 Duo の場合は Penryn として参照) 上で動作する KVM ゲスト (またはドメイン) は、virt-manager を使用して作成されます。インストール後に、ゲストのプロセッサーはホストの 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 configuration をクリックすると、NehalemPenryn ではなく、Pentium III が表示されます。
調査
/usr/share/libvirt/cpu_map.xml ファイルは、各 CPU モデルを定義するフラグをリスト表示します。Nehalem および Penryn の定義には、以下が含まれます。
<feature name='nx'/>
その結果、CPU を Nehalem または Penryn として特定するには、NX (または No eXecute) フラグを提示する必要があります。しかし、/proc/cpuinfo にはこのフラグがありません。
解決法
ほとんどすべての新規 BIOSes では、No eXecute ビットの有効化や無効化が可能です。しかし、無効にされている場合、このフラグをレポートしない CPU もあり、そのため libvirt は別の CPU を検出します。この機能を有効にすると、libvirt に対し、正しい CPU をレポートするように指示します。この問題の詳細な指示に関しては、ご使用のハードウェアの資料を参照してください。