
Tengo una máquina virtual QEMU que necesito ejecutar en diferentes máquinas host. Funciona bien en un host macOS con aceleración de hardware ( -accel hvf
).
Si bien Hyper-V funciona bien en mi host de Windows 11 (por ejemplo, puedo configurar y ejecutar una instancia con un invitado de Linux), QEMU 8 tiene -accel whpx
errores con:
qemu: WHPX: Failed to emulate MMIO access with EmulatorReturnStatus: 2
qemu: WHPX: Failed to exec a virtual processor
De acuerdo ahttps://www.reddit.com/r/VFIO/comments/l9bl8b/comment/h0bdxib/, WHPX en QEMU no funciona después de la versión 5.2 (qemu-w64-setup-20210208.exe dehttps://qemu.weilnetz.de/w64/2021/). Al mirar el hilo completo de Reddit, algunos carteles lo arreglaron usando -accel whpx,kernel-irqchip=off
. Sin embargo, esto no cambia nada para mí. Sigo teniendo el mismo mensaje de error.
Ahora, después de volver a QEMU 5.2, aparece el error:
C:\Program Files\qemu\qemu-system-x86_64.exe: Property 'pc-q35-5.2-machine.i8042' not found
Mi comando completo es:
"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
En QEMU 8 (después de cambiar la línea 2 a -L "C:\Program Files\qemu\share" ^
, agregarla \share
al directorio edk2-x86_64-code.fd y eliminar -accel whpx ^
), se inicia y funciona bien, incluso si uso -machine pc-q35-5.2
iso -machine q35
para verificar la compatibilidad con versiones anteriores de mi imagen de VM. Sólo que es muy lento porque carece de aceleración y, por lo tanto, no se puede utilizar.
Como QEMU 5.2 parece ser mi única oportunidad, ¿cómo puedo corregir el siguiente error (como ya se escribió anteriormente)?
C:\Program Files\qemu\qemu-system-x86_64.exe: Property 'pc-q35-5.2-machine.i8042' not found