我有一个 Debian 10(“buster”)的原始 qemu 磁盘映像,没有桌面环境,我试图在我的主机(也是 Debian 10)的终端中使用该标志运行它-curses
。如果我qemu-system-x86_64
只使用-curses
标志运行,我只会得到一个空白屏幕,所以以下这个问题我添加了该-vga std
选项。不幸的是,这让我在控制台中出现内核恐慌,并且我从未到达来宾的登录屏幕。输出如下所示:
[ 3.021788] xwrite+0x29/0x5a
[ 3.021845] do_copy+0x9b/0xc8
[ 3.021878] write_buffer+0x27/0x37
[ 3.021912] flush_buffer+0x34/0x8b
[ 3.021947] __gunzip+0x26e/0x315
[ 3.021982] ? bunzip2+0x397/0x397
[ 3.022016] ? initrd_load+0x5e/0x5e
[ 3.022048] ? __gunzip+0x315/0x315
[ 3.022080] gunzip+0xe/0x11
[ 3.022112] ? initrd_load+0x5e/0x5e
[ 3.022143] unpack_to_rootfs+0x182/0x2c6
[ 3.022177] ? initrd_load+0x5e/0x5e
[ 3.022210] ? unpack_to_rootfs+0x2c6/0x2c6
[ 3.022243] ? do_early_param+0x8e/0x8e
[ 3.022275] populate_rootfs+0x59/0x106
[ 3.022311] do_one_initcall+0x46/0x1c3
[ 3.022350] ? do_early_param+0x8e/0x8e
[ 3.022382] kernel_init_freeable+0x189/0x218
[ 3.022419] ? rest_init+0xaa/0xaa
[ 3.022453] kernel_init+0xa/0x10d
[ 3.022487] ret_from_fork+0x35/0x40
[ 3.023243] ---[ end Kernel panic - not syncing: System is deadlocked on memo
ry
[ 3.023243] ]---
我使用的是 QEMU 模拟器版本 3.1.0 (Debian 1:3.1+dfsg-8+deb10u3)。我的终端是英石0.8.2,我的桌面环境/窗口管理器是 dwm,如果这些详细信息相关的话。不过,如果我使用 xterm,我也会遇到同样的内核恐慌。
我正在使用此 qemu 命令启动映像:
qemu-system-x86_64 -curses -vga std -m 1024 -drive format=raw,file=disk.img
我尝试过其他各种 qemu 标志组合这个问题,但它们要么对于我的 qemu 版本不存在(例如选项-noframe
),抛出其他错误(例如-append
需要-kernel
选项),或者只是给我一个空白屏幕(-curses
本身)。
这样做的全部目的是避免启动 VNC 查看器来访问仅使用命令行的来宾。