当我尝试从 iso 完成新虚拟机的创建时,出现以下错误:
'内部错误:连接到监视器时进程退出:2018-04-11T00:42:51.993762Z qemu-system-x86_64:无法应用全局IvyBridge-x86_64-cpu.spec-ctrl = on:属性'.spec-ctrl ' 未找到'
回溯(最近一次调用最后一次):文件“/usr/share/virt-manager/virtManager/asyncjob.py”,第 89 行,在 cb_wrapper 回调(asyncjob,*args,**kwargs)文件“/usr/share/virt”中-manager/virtManager/create.py”,第 2545 行,在 _do_async_install guest.start_install(meter=meter) 文件“/usr/share/virt-manager/virtinst/guest.py”,第 498 行,在 start_install doboot,瞬态)文件“/usr/share/virt-manager/virtinst/guest.py”,第 434 行,在 _create_guest 域 = self.conn.createXML(install_xml 或 Final_xml, 0) 文件“/usr/lib/python2.7/dist- packages/libvirt.py”,第 3659 行,在 createXML 中,如果 ret 为 None:引发 libvirtError('virDomainCreateXML() failed', conn=self) libvirtError:内部错误:连接到监视器时进程退出:2018-04-11T00:42 :51.993762Z qemu-system-x86_64:无法应用全局IvyBridge-x86_64-cpu.spec-ctrl = on:找不到属性“.spec-ctrl”
我该怎么做才能让它发挥作用?
答案1
手头上的问题
根据您发布的错误,这几乎不只是 Kali Linux 的问题。幽灵/熔毁的某些补丁似乎给内核和虚拟机带来了问题。
我找到了几个与这个问题相关的链接,它们都在不同的操作系统上。这是一个链接到 Red Hat 的错误报告。这个链接是一篇描述 Arch Linux 解决方案的论坛帖子。这是另一个论坛帖子对于相同错误但对于 Manjaro 的可能解决方案。有人也使用 ParrotSec报告问题。最后我附上一个链接QEMU 维基关于 CPU 功能,因为它似乎也相关。我建议您首先阅读每个链接,但通过快速搜索,我能够找到一些可能解决您问题的解决方案。
1.使用“复制主机CPU配置”
如果您通过 virt-manager 的图形界面启动虚拟机,请尝试在虚拟机配置菜单的 CPU 子菜单下设置“复制主机 CPU 配置”选项。根据提供的链接,这似乎是解决您遇到的错误的最佳解决方案。
2、缺少用户和组的权限
确保启动 KVM virt-manager 的用户是 kvm 和 libvirt 组的成员,然后重试。
3. 过时的版本
据 Jiri Denemark 称,问题可能在于内核不支持较新的 CPU 功能。
这表明 libvirt 通过 CPUID 检测到主机 CPU 中的新功能,但内核还不够新,无法识别它。此外,qemu-kvm-rhev 相当旧,也不支持新功能:
- 2017 年 3 月 24 日星期五 Miroslav Rezanina - rhev-2.6.0-28.el7_3.9
我认为 virt-install 默认情况下从 libvirt 的功能 XML 中获取 CPU 型号,即 Broadwell-IBRS。由于 qemu-kvm-rhev 不支持新的 CPU 型号,因此 libvirt 使用 Broadwell,+spec-ctrl,+rtm,+hle 代替。
换句话说,这只是 libvirt 更新而其他尚未更新时 compose 的临时问题。该问题可以通过 QEMU 检测 CPU 功能并指导 virt-install 使用域功能中的 CPU 来解决。 Libvirt 使用 QEMU-2.10 来实现这一点。
尝试确保您拥有最新版本的内核、内核头文件、libvirt、virt-manager 和 QEMU。此后重新启动并重试。
结论
我相信选项 1 是您最好的选择。如果没有,请确保您已正确安装所有内容并保持最新状态。您收到的错误消息非常描述了您遇到的问题。验证其所使用的处理器功能集是否与您的硬件相匹配。谷歌是你的朋友。一如既往,如果我的回答有任何误解或问题,请发表评论,我很感谢纠正我的错误。祝你好运!