Search

B.3. The guest virtual machine cannot be started: internal error guest CPU is not compatible with host CPU

download PDF
Symptom
Running on an Intel Core i7 processor (which virt-manager refers to as Nehalem, or the older Core 2 Duo, referred to as Penryn), a KVM guest (or domain) is created using virt-manager. After installation, the guest's processor is changed to match the host's CPU. The guest is then unable to start and reports this error:
2012-02-06 17:49:15.985+0000: 20757: error : qemuBuildCpuArgStr:3565 : internal error guest CPU is not compatible with host CPU
Additionally, clicking Copy host CPU configuration in virt-manager shows Pentium III instead of Nehalem or Penryn.
Investigation
The /usr/share/libvirt/cpu_map.xml file lists the flags that define each CPU model. The Nehalem and Penryn definitions contain this:
<feature name='nx'/>
As a result, the NX (or No eXecute) flag needs to be presented to identify the CPU as Nehalem or Penryn. However, in /proc/cpuinfo, this flag is missing.
Solution
Nearly all new BIOSes allow enabling or disabling of the No eXecute bit. However, if disabled, some CPUs do not report this flag and thus libvirt detects a different CPU. Enabling this functionality instructs libvirt to report the correct CPU. Refer to your hardware documentation for further instructions on this subject.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.