
GUIなしでLinux上でQEMUを実行しています。
QEMU でカスタム カーネルを起動した後、Ctrl + C を押してもホストを終了して戻ることができません。
ホスト OS に戻る方法はありますか?
答え1
Ctrl-A X
次のように入力するだけです-nographic
:
Ctrl-A X
つまり
- 最初に押すCtrl + A(Aは単なるキーでありa、altキーではありません)、
- キーを離し、
- その後 を押しますX。
あるいは:
QEMU モニターに入り、
Ctrl-A C
次のように入力します。quit
Enter キーを押します。 参照:https://stackoverflow.com/questions/14165158/how-to-switch-to-qemu-monitor-console-when-running-with-curses
QEMU モニター ( と同じ
Ctrl-A C
) を で使用しますtelnet
:qemu-system-x86_64 -monitor telnet::45454,server,nowait -serial mon:stdio
ホスト端末では次のようになります。
telnet localhost 45454
そして
quit
そこから。-serial mon:stdio
Ctrl+C を機能させるには以下が必要です:https://stackoverflow.com/questions/49716931/how-to-run-qemu-with-nographic-and-monitor-but-still-be-able-to-send-ctrlc-to/49751144#49751144powerdown
可能であれば、Linux ゲスト シェルからのコマンドなどを使用して、ゲストから VM を通常どおりシャットダウンします。もちろん、これは VM をすぐに強制終了するのではなく、通常のシャットダウン シーケンスを実行しますが、場合によってはこれが最も簡単な方法です。ただし、すべてのマシンで動作するわけではありません。https://stackoverflow.com/questions/31990487/how-to-cleanly-exit-qemu-after-executing-bare-metal-program-without-user-interve
Ubuntu 17.10、QEMU 2.10.1 でテスト済み。
答え2
シェルで QEMU プロセスを閉じるには:
ctrl+a
、 それからx
答え3
答え4
これは他の回答への追加ですが、 はctrl-a x
機能しますが、エイリアス化されています。私と同じように、ctrl-b
を に置き換えてtmux を使用している場合ctrl-a
は、 を使用できませんctrl-a x
。これに対する簡単な解決策は、tmux のsend-keys
ユーティリティを使用してctrl-a x
qemu に送信することです。
実行中の tmux ウィンドウで、 を押してctrl-a :
tmux プロンプトを表示し、 と入力するsend-keys C-a x Enter
と qemu が終了します。