VirtualBox 中 Ubuntu Server 启动时出现黑屏或控制台分辨率较差

VirtualBox 中 Ubuntu Server 启动时出现黑屏或控制台分辨率较差

我正在 VirtualBox 中设置一个测试平台,主机系统是 Ubuntu Lucid Desktop,客户系统是 Ubuntu Lucid Server。

基本服务器安装提供 80x25 控制台,滚动和屏幕更新速度较慢。此问题已通过黑名单修复vga16fb。之后我获得了 80x25 控制台,屏幕更新和滚动速度很快。

然后我尝试通过编辑/etc/default/grub、删除splashquiet默认启动参数来禁用启动画面和安静模式GRUB_CMDLINE_LINUX_DEFAULT。之后我在 80x25 控制台上快速显示了启动消息。

然后我尝试在控制台中设置更高的分辨率。我在/etc/default/grub文件中用GRUB_GFXMODE参数提供了所需的图形模式,并将GRUB_GFXPAYLOAD_LINUX参数设置为keep使图形模式在控制台中保持不变。之后,我在 grub 菜单中获得了所需的分辨率,在控制台中获得了所需的分辨率,但 grub 启动行选择和登录屏幕之间的启动消息现在不可见(黑屏)。

如何配置 grub 和控制台,以便启动过程的所有部分(grub、启动消息和控制台登录)都可以在所需的分辨率控制台中看到?

fbconUPD:一旦我提供模块initrd:编辑文件/etc/initramfs-tools/modules并在其中添加一行,然后通过发出fbcon重建,情况就会好转。当然,所有这些都是以 root 身份进行的。之后我开始看到启动消息,其中第一个是。但是,一些启动输出进入不同的控制台模式(如消息),我看到屏幕在那里切换并再次切换回来。但这仍然比空白屏幕要多得多。initrdupdate-initramfs -vuConsole: switching to colour frame buffer device 128x48fsck

答案1

以无头模式运行 vm-server 并进入控制台可能是一个更好的主意,这样您的客户机就可以管理任何终端宽度。有一个 virtualbox-headless 命令可用于此目的。您可以在客户机中设置 stty,并通过 grub 中的内核命令行将启动消息重定向到相同的 stty,例如:

BOOT_IMAGE=/boot/vmlinuz-3.0.0-10-generic root=/dev/sda1 ro console=ttyS0,38400n8 vt.handoff=7

然后,在主机中,将 /etc/init/tty6.conf 复制到 tty8.conf 并替换以下行

exec /sbin/getty -8 38400 tty6

和:

exec /sbin/getty -8 38400 ttyS0

最后配置镜像以将 serial0 输出到主机上的 /dev/pts。(这适用于 kvm,也适用于 virtualbox)

无论如何,如果您不喜欢这种方法,请安装客户机附加组件。然后您应该能够实现更高的分辨率。滚动缓慢是因为 vga16fb 确实是每像素 16 位颜色信息,而可怜的控制台必须将每个像素转换为主机 X11 的 24 位或 32 位,并且监控像素变化并不是一件容易的事,因此如果您能以某种方式增加颜色深度以匹配您的主机,滚动速度应该会加快。

相关内容