首先,了解一些背景:
我想至少在我的系统上发现了KVM的错误。
当我尝试通过virt-manager安装Windows XP时,安装程序将中止/重启。
但是,如果我运行原始的qemu-system-i386
命令(见下文),它将成功。
通过查看/var/log/libvirt/qemu/...
中的日志,关键区别在于参数“ accel = kvm”(相当于-enable-kvm
)。
因此,缩小范围,此命令将成功执行:
qemu-system-i386 \
-m 512 \
-usb \
-cdrom path/to/WinXP_CD.iso \
-boot d \
"$image"
但是下一条命令将导致无限次重启。 XP安装程序将启动,但是在扫描系统后,仅重新启动而不是继续:
qemu-system-i386 \
-enable-kvm \
-m 512 \
-usb \
-cdrom path/to/WinXP_CD.iso \
-boot d \
"$image"
也许您不相信我的KVM在我的系统上可以正常工作。 但是,我可以使用KVM安装其他操作系统(例如FreeBSD)。这似乎是XP特有的。
现在,我的问题:
如何强制libvirt 不对选定的VM使用KVM?理想的情况是通过virt-manager
,但是我也同意virsh
。
我想在XML混乱的某个地方有一些设置,但是我并不十分熟悉。
放在一边:我应该在哪里记录此bug?对KVM? Libvirt? QEMU?
答案 0 :(得分:0)
好吧,我设法解决了这个问题,但是我敢肯定还有更漂亮的方法。
基本上,该-enable-kvm
选项对应于域XML文件中的type="kvm"
值。参见libvirt documentation。
但是似乎无法从virt-manager
进行更改。我对virsh
不够熟悉,或者也没有这样做。因此,我只是像这样手动编辑XML文件:
$ sudoedit /etc/libvirt/qemu/myxp.xml
我在virt-manager
关闭时进行了此操作。
当我打开它时,设置似乎没有坚持。由于某种原因,我似乎需要运行:
$ sudo virsh define /etc/libvirt/qemu/myxp.xml
使其粘住。
无论如何,经过那段小小的舞蹈之后,然后在virt-manager
的VM的“概述”选项卡中,它说“ Hypervisor:QEMU TCG”,之前是“ KVM”。
现在,XP安装程序可以工作了!
再次,也许是一种更好的方法,但目前已经足够了。
大概是,禁用KVM后性能会变差。我仍然不知道该向谁发送错误,或者这是QEMU还是KVM问题。