我正在尝试使用 QEMU 在 Windows 10 主机上运行基于 Linux 内核的 VM 映像 (1)。我已从https://qemu.weilnetz.de/w64/qemu-w64-setup-20190815.exe和 SPICE 客户端https://virt-manager.org/download/sources/virt-viewer/virt-viewer-x64-8.0.msi。
我注意到
qemu-system-x86_64 -vga help
没有列出青霞作为可用选项之一。
还,
qemu-system-x86_64 -chardev help
没有列出spicevmc任何一个。
因此,我假设我要么缺少一些驱动程序和库,要么它们存在,但 Windows 上的 qemu 二进制文件却不知道它们。
有人能告诉我如何使用 SPICE 运行 VM 并让 QXL 驱动程序可用吗?我可能忽略了一些显而易见的东西,因为直到最近被迫使用 MS 产品之前,我从未将其用于任何重要用途。
(1)图像基于https://ftp.gnu.org/gnu/guix/guix-system-vm-image-1.0.1.x86_64-linux.xz。
答案1
并非所有 Windows 版本都默认包含 SPICE。您应该询问打包者。我敢打赌 SPICE 只是没有被编译进去。
答案2
对于 Windows,qemu 建议从 MSYS2 的 repos 下载二进制文件。
按照链接的说明操作后,我最近检查了这些二进制文件(版本 8.2.0),它们包含 spice chardev 和 glx vga。
为了使一切正常运行,在这种情况下以 GNU Guix 作为客户系统,我使用了以下 qemu 命令:
qemu-system-x86_64.exe \
-accel whpx \
-nic user,model=virtio-net-pci \
-m 2048 \
-device virtio-blk,drive=myhd \
-drive if=none,file=qemu-storage.img,id=myhd \
-spice port=5930,disable-ticketing=on \
-device virtio-serial-pci,id=virtio-serial0,max_ports=16,bus=pci.0,addr=0x5 \
-chardev spicevmc,name=vdagent,id=vdagent \
-device virtserialport,nr=1,bus=virtio-serial0.0,chardev=vdagent,name=com.redhat.spice.0
然后,启动 virt-viewer 远程查看器,我连接到spice://localhost:5930
(因为这是我用 qemu 设置的端口)。