グラフィックウィンドウを無効にして、ターミナルエミュレータの出力のみでqemuを起動できることを思い出しました。そして、ここではncursesインターフェースを意味するわけではありません。それはニースですが、カットアンドペーストを簡単にするために、出力を直接ターミナルに流したいのです。
私が試してみました:
qemu -nographic binary.img # simply no display
qemu -curses binary.img # Nice text output, but not directly flowing in the terminal
qemu -noframe -curses binary.img # same as above
qemu -nographic -curses binary.img
私が許容している回避策は、私が使用している端末に合わせてcursesコンソールのサイズを変更できることだと思います。現在のところ、端末のサイズに合わないので迷惑です...
qemu -curses binary.img
SeaBIOS (version 1.7.0-20120603_194846-gandalf)
iPXE (http://ipxe.org) 00:03.0 C900 PCI2.10 PnP PMM+07FC86A0+07F886A0 C900
Booting from Hard Disk...
[...]
ディスプレイが12スペースインデントされていることに注意してください。迷惑です。 :)
古い質問ですが、それでも人々の興味を引くかもしれません。
短いアンサー:
qemu -nographic -serial mon:stdio -append 'console=ttyS0' binary.img
ttyS0
はほとんどのPCで有効です。これは、ARMシステムでは異なります。
次に、シリアルポートとQEMUが出力で多重化されます。 ctrl-A + C + ENTER
でそれらを切り替えることができます。
長い答え: このブログ を確認してください。すばらしいです。
インストール [〜#〜] sgabios [〜#〜] --nographic
で実行すると、最新のQemuバージョンで自動的に使用されるというISTR。
GRUBを更新して、必要なオプションをカーネルに渡すことができます。私はUbuntu 18.04を使用しており、次のようにしました:
ゲストOSのGRUBを更新します。
sudoedit /etc/default/grub
GRUB_CMDLINE_LINUX=""
をGRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,9600n8"
に変更しますSudo update-grub
を実行します以下を使用してゲストOSを再起動します。
qemu-system-x86_64 \
-drive file=ubuntu-18.04-live-server-AMD64.img.qcow2,format=qcow2 \
-nographic \
-m 4G \
;
オプションとして-nic user,hostfwd=tcp:127.0.0.1:2222-:22
または同様のものを追加することをお勧めします。これにより、ssh -p 2222 localhost
を介したssh接続が有効になり、コンソールよりもわずかに優れたインターフェイスが提供されます。
コンソールオプションは tldpのリモートシリアルHOWTO からコピーされます