QEMU 无法在 GPU 直通虚拟机上启动任何东西

QEMU 无法在 GPU 直通虚拟机上启动任何东西

我一直试图在 Ubuntu 17.10 上设置带有 GPU 直通的 Windows 7 VM,但无法成功启动任何东西,从硬盘驱动器到 ISO,甚至实际的 DVD。每次我都会得到相同的结果,QEMU 告诉我没有可启动的设备。

这是我的虚拟机的可执行文件:

 #!/bin/bash

vmname="windows7vm"

if ps -A | grep -q $vmname; then
echo "$vmname is already running." &
exit 1

else

# use pulseaudio
export QEMU_AUDIO_DRV=pa
export QEMU_PA_SAMPLES=8192
export QEMU_AUDIO_TIMER_PERIOD=99
export QEMU_PA_SERVER=/run/user/1000/pulse/native

cp /usr/share/OVMF/OVMF_VARS.fd /tmp/my_vars.fd

qemu-system-x86_64 \
-name $vmname,process=$vmname \
-machine type=pc,accel=kvm \
-cpu host \
-smp 3,sockets=1,cores=3,threads=1
-m size=4G \
-mem-path /run/hugepages/kvm \
-mem-prealloc \
-balloon none \
-rtc clock=host,base=localtime \
-vga none \
-nographic \
-serial none \
-parallel none \
-soundhw hda \
-usb -usbdevice host:1532:0214 -usbdevice host:1532:0043 \
-device vfio-pci,host=04:00.0,multifunction=on \
-device vfio-pci,host=04:00.1 \
-drive if=pflash,format=raw,readonly,file=/usr/share/OVMF/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=/tmp/my_vars.fd \
-boot order=dc \
-drive if=virtio,id=disk0,cache=none,format=raw,file=/dev/sdb
-drive file=/home/keith/WIN_VM/win7install.iso,index=1,media=cdrom \
-drive file=/home/keith/WIN_VM/virtio-win-0.1.141.iso,index=2,media=cdrom \

exit 0
fi

QEMU 基本上告诉我

Boot failed: could not read the boot disk
Booting from DVD/CD...
Boot failed: Could not read from CDROM (code 0003)

然后:

No bootable device.

除了上述问题之外,当我关闭 QEMU 窗口时,还会出现

unknown keycodes `(unnamed)', please report to [email protected]
./WIN_VM/win7vm.sh: line 24: -m: command not found
./WIN_VM/win7vm.sh: line 41: -drive: command not found

在终端中。我对大多数虚拟化内容都比较陌生,但我对 Linux 相当熟悉。欢迎任何可能的解决方案。提前致谢 :)

答案1

您的冗长的qemu调用缺少一些行继续反斜杠,因此完整的命令无法运行。

某些行末尾会出现 (反斜杠\),表示该命令在下一行继续。如果一行末尾没有\,则表示命令结束,下一行将被视为单独的命令。

因此,在第 24 行和第 41 行,bash 分别尝试将-m和解释-drive为命令,因为以前的行缺少以\指示命令继续。

我认为您会发现插入这些反斜杠后您的虚拟机就会启动。


PS 考虑使用 libvirt 和 virt-manager(或 GNOME Boxes)来创建虚拟机,因为这些通常更容易管理。在这种情况下,libvirt 将为您管理 qemu 配置,具体取决于您在 virt-manager 中为每台机器设置的选项。

相关内容