我正在尝试使用 Qemu-KVM 将 Ubuntu Server 作为虚拟机运行,并将所有输出打印到终端。几年前,我使用 -curses 选项做过这件事,再次尝试,由于图形模式而失败:
# create guestVM
# installing OS using recommended settings, but no LVM
sudo apt-get install qemu-system-x86 qemu-utils
qemu-img create guestVM.img 35G
qemu-system-i386 -enable-kvm -hda guestVM.img \
-cdrom ubuntu-14.04.1-server-i386.iso -boot d -m 1024
# run guestVM with graphics
qemu-system-i386 -enable-kvm -hda guestVM.img -m 1024
# disable graphics module based on http://blog.zorinaq.com/?e=7
# and https://bugs.launchpad.net/ubuntu/+source/linux-ec2/+bug/569394
echo install vga16fb /bin/true >/etc/modprobe.d/graphics-disabled.conf
# change grub into text mode based on http://askubuntu.com/questions/16371/
sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="text" # edited
GRUB_TERMINAL=console # uncommented
sudo update-grub
如果我现在运行我的客户虚拟机,我可以使用 SSH 访问它,因此它加载成功。但是终端卡在图形模式 后我看到了 grub 选项,因此我认为它与 Ubuntu 有关。有什么想法吗?
# running the guestVM with ssh
qemu-system-i386 -enable-kvm -curses -hda guestVM.img -m 1024 \
-net user,hostfwd=tcp::10022-:22 -net nic
# check it its running with... (it is)
ssh guestuser@localhost -p10022
答案1
需要禁用的底层模块是 fbcon(99 只是一些任意大的数字,大于系统上的帧缓冲设备的数量,通常为 1-2)。
# edit /etc/modprobe.d/blacklist-framebuffer.conf
+ blacklist vga16fb
# edit /etc/default/grub
- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="fbcon=map:99 text"
+ GRUB_TERMINAL=console
sudo update-grub
您可以使用 -curses -k朗以获得更好的键盘支持。