命令行上的QEMU-KVM Linux虚拟化

前端之家收集整理的这篇文章主要介绍了命令行上的QEMU-KVM Linux虚拟化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近发现qemu-kvm有一个非常有前途的-curses选项,它不会启动X窗口,而是显示来自guest虚拟机的ncurses输出,适合从命令行管理 Linux guest虚拟机(或者更令人满意的是,在屏幕会话,甚至是ssh).

所以我试了一下,发现我的Arch Linux客户进入“图形模式”,使这个功能变得毫无用处.从我能够确定的,问题是客户内核初始化帧缓冲区以允许高于80×60的字符分辨率(和漂亮的图形).所以我继续寻找阻止客户内核启动帧缓冲的方法.我已经尝试了各种内核参数,nomodeset,fb = false,vga = 0x0FF,vga = ask(以及随后选择VGA而不是VESA模式),但无济于事:每次qemu-kvm -curses报告都在guest虚拟机上的“图形模式”(在初始启动菜单之后),我无法从主机上的命令行终端与guest虚拟机进行交互.

有没有简单的方法可以将guest虚拟机内核保持在它启动的相同模式(没有帧缓冲区)而不更改内核构建参数?如果没有,我应该更改哪些内核构建选项来编译没有帧缓冲支持的内核?是否有更好的方法从主机上的终端以纯文本模式登录VM(例如,适合在主机上的屏幕会话中运行),而无需在guest虚拟机上运行sshd?

解决方法

因此需要禁用的底层模块是fbcon,但Arch的内核不会将其编译为模块,因此将其列入黑名单.可能仍然可以识别和禁用fbcon启动的特定驱动程序但是lsmod没有列出这样的驱动程序,因此qemu-kvm的驱动程序被编译成Arch.要禁用fbcon本身,必须使用自己奇怪的引导选项语法:
fbcon=map:99

其中99只是一些任意大的数字,大于系统上帧缓冲设备的数量(通常为1-2).

有关详细信息,请参阅fbcon.txt.

猜你在找的Linux相关文章