Ubuntu Server 14.04.1 LTS - Qemu-KVM 中的非图形启动 (-curses)

Ubuntu Server 14.04.1 LTS - Qemu-KVM 中的非图形启动 (-curses)

我正在尝试使用 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以获得更好的键盘支持。

相关内容