QEMU VM,主机和客户机操作系统均为 Ubuntu 20.04。QEMU 6.1.0 编译时无需任何特殊参数。客户机是从下载的 Ubuntu 服务器 iso 映像安装的。
如果我使用启动虚拟机
qemu-system-x86_64 -hda ubuntu.qcow -m 4000
之后,QEMU 启动了一个 VNC 服务器,我可以在 VNC Viewer 中看到客户机 Ubuntu 操作系统正在正常运行。
但如果我使用
qemu-system-x86_64 -hda ubuntu.qcow -m 4000 -nographic
,QEMU 打印出以下内容并冻结。
SeaBIOS (version rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org)
iPXE (http://ipxe.org) 00:03.0 CA00 PCI2.10 PnP PMM+BFF8F290+BFEEF290 CA00
Booting from Hard Disk...
我可以看到top
CPU 一开始处于 100% 繁忙状态,qemu-system-x86
过了一会儿又恢复空闲状态。我猜客户操作系统已经成功完成启动,但我在屏幕上什么都看不到。我想要的是客户机可以接管主机的控制台并向其输出。我没有找到 -console 参数,所以我猜-nographic
应该可以完成这项工作。我选错了参数吗?如果是这样,我如何才能看到启动过程的显示和客户机 Ubuntu 的登录提示?谢谢。
答案1
由于您没有图形并且操作系统确实在那里输出,因此您很可能不会得到太多东西。
您可以配置引导加载程序、内核和 shell 以使用串行。对于内核,它类似于 console=/dev/ttyS0
对于 ubuntu 似乎有一个指南https://help.ubuntu.com/community/SerialConsoleHowto