仮想化を使用してベアハードウェアにのみ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
たぶんCtrl–a 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の場合、似たようなものが必要だと思います。