Windows 主機上的 QEMU 5.2:錯誤“未找到屬性 'pc-q35-5.2-machine.i8042'”

Windows 主機上的 QEMU 5.2:錯誤“未找到屬性 'pc-q35-5.2-machine.i8042'”

我有一個 QEMU VM,需要在不同的主機上運行。我在具有硬體加速功能的 macOS 主機上運作良好 ( -accel hvf)。

雖然 Hyper-V 在我的 Windows 11 主機上運作良好(例如,我可以使用 Linux 來賓設定和執行執行個體),但 QEMU 8 出現-accel whpx錯誤:

qemu: WHPX: Failed to emulate MMIO access with EmulatorReturnStatus: 2
qemu: WHPX: Failed to exec a virtual processor

根據https://www.reddit.com/r/VFIO/comments/l9bl8b/comment/h0bdxib/,QEMU 中的 WHPX 在版本 5.2 之後被破壞(來自 qemu-w64-setup-20210208.exehttps://qemu.weilnetz.de/w64/2021/)。查看完整的 reddit 帖子,一些發帖者使用 修復了它-accel whpx,kernel-irqchip=off。然而,這對我來說並沒有改變什麼。我仍然收到相同的錯誤訊息。

現在,恢復到 QEMU 5.2 後,出現錯誤:

C:\Program Files\qemu\qemu-system-x86_64.exe: Property 'pc-q35-5.2-machine.i8042' not found

我的完整命令是:

"C:\Program Files\qemu\qemu-system-x86_64.exe" ^
-L "C:\Program Files\qemu" ^
-nodefaults ^
-vga none ^
-device e1000,mac=0A:AD:47:06:D2:2C,netdev=net0 ^
-netdev user,id=net0 ^
-device vmware-svga ^
-cpu Penryn,+sse4.1,+sse4.2,+ssse3 ^
-smp cpus=1,sockets=1,cores=1,threads=1 ^
-machine q35,vmport=off,i8042=off,hpet=off ^
-accel whpx ^
-global ICH9-LPC.disable_s3=1 ^
-drive "if=pflash,format=raw,unit=0,file.filename=C:\Program Files\qemu\edk2-x86_64-code.fd,file.locking=off,readonly=on" ^
-drive "if=pflash,unit=1,file=C:\Users\boe\Documents\mabam\Drives\efi_vars.fd" ^
-m 4096 ^
-usb ^
-device usb-tablet,bus=usb-bus.0 ^
-device usb-mouse,bus=usb-bus.0 ^
-device usb-kbd,bus=usb-bus.0 ^
-device nec-usb-xhci,id=usb-controller-0 ^
-device ide-hd,bus=ide.0,drive=EFI,bootindex=0 ^
-drive "if=none,media=disk,id=EFI,file=C:\Users\boe\Documents\mabam\Drives\efi.qcow2,discard=unmap,detect-zeroes=unmap" ^
-device ide-hd,bus=ide.1,drive=SLHD,bootindex=1 ^
-drive "if=none,media=disk,id=SLHD,file=C:\Users\boe\Documents\mabam\Drives\SystemHDD.qcow2,discard=unmap,detect-zeroes=unmap" ^
-device virtio-rng-pci

在 QEMU 8 上(將第 2 行更改為-L "C:\Program Files\qemu\share" ^,新增\share至 edk2-x86_64-code.fd 目錄並刪除-accel whpx ^),它啟動並運作良好,即使我使用-machine pc-q35-5.2iso-machine q35來驗證 VM 映像的向後相容性。只是它的速度非常慢,因為它缺乏加速度,因此無法使用。

由於 QEMU 5.2 似乎是我唯一的機會,我該如何修復以下錯誤(如上面已經寫的)?

C:\Program Files\qemu\qemu-system-x86_64.exe: Property 'pc-q35-5.2-machine.i8042' not found

相關內容