
Estoy ejecutando QEMU en Linux sin GUI.
Después de ejecutar mi kernel personalizado con QEMU, no puedo finalizar y regresar al host presionando Ctrl+C.
¿Hay alguna forma de volver al sistema operativo host?
Respuesta1
Ctrl-A X
Por -nographic
solo ingresar:
Ctrl-A X
lo que significa
- Primero presione Ctrl + A(A es solo la tecla a, no la alttecla),
- luego suelta las teclas,
- luego presione X.
Alternativamente:
ingrese al monitor QEMU y
Ctrl-A C
luego escriba:quit
y presione enter. Ver también:https://stackoverflow.com/questions/14165158/how-to-switch-to-qemu-monitor-console-when-running-with-curses
use el monitor QEMU (igual que
Ctrl-A C
) contelnet
:qemu-system-x86_64 -monitor telnet::45454,server,nowait -serial mon:stdio
y en una terminal host:
telnet localhost 45454
y luego
quit
desde allí.-serial mon:stdio
es necesario para mantener Ctrl+C funcionando:https://stackoverflow.com/questions/49716931/how-to-run-qemu-with-nographic-and-monitor-but-still-be-able-to-send-ctrlc-to/49751144#49751144apague la VM desde el invitado normalmente, por ejemplo, con un
powerdown
comando desde un shell invitado de Linux, si puede. Por supuesto, esto pasa por la secuencia de apagado normal en lugar de matar inmediatamente la VM, pero a veces es simplemente el enfoque más simple.Sin embargo, no funciona para todas las máquinas:https://stackoverflow.com/questions/31990487/how-to-cleanly-exit-qemu-after-executing-bare-metal-program- without-user-interve
Probado en Ubuntu 17.10, QEMU 2.10.1.
Respuesta2
Para cerrar un proceso QEMU en su shell:
ctrl+a
, entoncesx
Respuesta3
Respuesta4
Esto se suma a otras respuestas, donde ctrl-a x
funciona pero le has asignado un alias. Si eres como yo, estás usando tmux ctrl-b
reemplazado por ctrl-a
, por lo que no puedes usar ctrl-a x
. Una solución simple a esto es usar la send-keys
utilidad de tmux para enviar ctrl-a x
a qemu.
En una ventana de tmux en ejecución, presione ctrl-a :
para que aparezca el indicador de tmux, luego escriba send-keys C-a x Enter
y qemu saldrá.