QEMU 게스트(OpenBSD)에 종료 이벤트를 보내는 방법은 무엇입니까?

QEMU 게스트(OpenBSD)에 종료 이벤트를 보내는 방법은 무엇입니까?

가상화를 사용하여 베어 하드웨어에만 OpenBSD를 설치했는데 설치 중에 직렬 포트로의 리디렉션이 구성되지 않아 결국 시스템이 실행되었지만 로그인하여 완전한 종료를 수행할 수 없었습니다.

kvm -m 6144 -smp 4 -drive file=/dev/sda,if=ide \
    -drive file=/dev/sdb,if=scsi -drive file=/dev/sdc,if=scsi \
    -cdrom install52.iso -boot d -nographic

이 세션에 종료 이벤트를 보내려면 어떻게 해야 합니까? AFAIK, Ctrl- a x그림과 같이여기아니면 pkill kvm아직 완전히 닫히지 않았을 수도 있습니다.

아니면 -nographic모드에서 모드로 전환하는 방법은 무엇입니까 -curses?

답변1

어쩌면 Ctrla c그리고 system_powerdown?

내 경우에는 작동하지 않는 것 같지만 작동해야 합니다. 아마도 OpenBSD와 QEMU ACPI가 충분히 상호 작용하지 않을 수 있습니다.

답변2

libvirt이 문제를 해결하는 방법을 알아보세요. 설치해 libvirtd도 괜찮다면 virsh다음을 사용할 수 있습니다.

virsh list

손님의 이름을 표시합니다. 그리고 name 의 게스트를 정상적으로 종료하려면 guest_001다음 명령을 사용하십시오.

virsh shutdown guest_001

답변3

원칙적으로 QEMU 모니터에 "system_powerdown"(다른 답변 참조)을 보내면 게스트 OS에 전원을 끄라는 신호가 전달됩니다(전원 버튼을 누를 때와 마찬가지로). 실제로 머신을 완전히 종료 powerdown=YES하려면 이를 설정해야 합니다 ./etc/rc.shutdown

불행하게도 실제 설정에서는 이것이 실제 하드웨어 시스템에서는 잘 작동하지만 이벤트를 수신하면 가상 시스템이 정지됩니다 powerdown. (이것은 를 사용하고 있습니다 QEMU-KVM 1.1.2 on Debian Wheezy/amd64 and OpenBSD 5.5 amd64 GENERIC.SP.) 그래서 당신이 할 수 있는 일은 shutdown -h now또는 halt -p(OpenBSD) 콘솔로 보내는 것입니다.

답변4

qemu는 acpi 종료 이벤트를 VM에 보내고, 이 호출을 해석할 수 없으면 종료되지 않습니다. Linux에서는 이는 acpid 실행이 필요하다는 것을 의미합니다. BSD의 경우 비슷한 것이 있어야 한다고 생각합니다.

관련 정보