当前位置: 首页>>技术教程>>正文


如何增加console-mode分辨率?

, ,

问题描述

我最近在我的电脑上使用了clean-reinstalled Maverick。它使用专有的Nvidia驱动程序。

一切都运行得很好,除了我在启动和关闭Ubuntu时看到很多丑陋的文字。

我根本不介意文字;事实上,我喜欢看到启动/关闭信息。

我不喜欢它的丑陋!

当我的电脑进入控制台模式 – (启动,关机或CTRL + ALT + F1)时,文字非常大 – 我无法截取它,但它看起来像640×480分辨率。我的显示器通常工作在1440×900。

我记得从CD安装时出现的控制台文本很好而且很小。

如何在从CD启动时使控制台文本看起来像它看起来一样?

最佳解决办法

我找到了一个适用于this forum post的解决方案

简而言之:

用你喜欢的编辑器以root身份打开/etc/default/grub

本地化显示GRUB_GFXMODE= ...的行并将其更改为您想要的分辨率。为具有相同分辨率的名为GRUB_GFXPAYLOAD的新变量添加另一行。它看起来应该类似于:

GRUB_GFXMODE=1440x900x32
GRUB_GFXPAYLOAD=1440x900x32

保存并退出。然后编辑为根/etc/grub.d/00_header

本地化显示if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=...的行。和以前一样,将那里的分辨率更改为您想要的分辨率,并为有效负载添加另一行:

if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1440x900x32 ; fi
if [ "x${GRUB_GFXPAYLOAD}" = "x" ] ; then GRUB_GFXPAYLOAD=1440x900x32 ; fi

最后,找到设置为gfxmode=${GRUB_GFXMODE}的行,并为其下方的有效负载添加一行。它应该如下所示:

set gfxmode=${GRUB_GFXMODE}
set gfxpayload=${GRUB_GFXPAYLOAD}

保存并退出。

仍然作为root,刷新grub与

update-grub2

重启,grub菜单和控制台应该有更好的分辨率。

完了!

次佳解决办法

这有助于我在Ubuntu 14.04上使用ESXi 5.5:

:~$ sudo vi /etc/default/grub

将行更改为:

GRUB_CMDLINE_LINUX_DEFAULT="splash vga=792"

:~$ sudo update-grub :~$ sudo reboot -r now

使用795或799获得更高分辨率,请参阅:http://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/以获取更多详细信息。

第三种解决办法

使用GRUB_GFXPAYLOAD_LINUX设置图形模式

首先,安装xrandr并运行它:

$ sudo apt-get install xrandr
$ xrandr

列出了可用的屏幕模式。

现在,编辑/etc/default/grub

$ sudo nano /etc/default/grub

假设以前未经编辑的文件,请进行以下更改:

变量GRUB_CMDLINE_LINUX_DEFAULT应至少包含nomodeset,可能除了桌面系统上的quietsplash之外。

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

在服务器系统上,取消注释GRUB_TERMINAL=console以在进入图形控制台之前查看在引导期间传递的更多消息。

将此行留作评论:

#GRUB_GFXMODE=640x480

在文件末尾添加一行:

GRUB_GFXPAYLOAD_LINUX=1280x1024x16

或者通过硬件支持的任何其他(逗号分隔)模式替换该值。值textkeepautovgaask也应该起作用。

最后,在使用Ctrl + O保存已编辑的/etc/default/grub并使用Ctrl + X退出后,发出以下命令:

$ sudo update-grub
$ sudo reboot

此答案还可用于降低down-clocked系统的分辨率和/或刷新率或帧缓冲器频率。当刷新频率太高时,CRT监视器通常显示闪烁的条纹。

第四种办法

  1. 从GRUB菜单开始

  2. C转到GRUB命令行

  3. 运行vbeinfo并做出决定(例如1920x1200x32)。

  4. 再次启动系统

  5. sudo nano /etc/default/grub

  6. 更改GRUB_GFXMODE=(例如GRUB_GFXMODE=1920x1200x32)

  7. GRUB_GFXPAYLOAD_LINUX设置为GRUB_GFXPAYLOAD_LINUX=keep

  8. sudo update-grub

  9. 重启你的系统

第五种办法

只是一些个人背景:在我的另一台电脑中,我对这种奇特的模式没有任何问题(它是160列x 60行,但它有一个4:3 CRT显示器)。它配备了TNT2(是的,我发誓),并且该模式在第一次启动时立即显示。问题是,它通过加载nouveau驱动程序来做到这一点,这个人仍然有点故障(在我的情况下,它在尝试移动窗口时挂起整个系统)。因此,为了拥有一个可用的系统,我不得不降级到旧的稳定的nv驱动程序,并且还禁用mode-setting(因为启用时内核将始终加载nouveau)。请注意,我没有使用nVidia专有驱动程序,但与您一样,我在控制台模式下切换回80×25。

这是因为nv驱动程序不使用内核mode-setting。现在,我不知道专有驱动程序,但我猜他们可能已经改变了你的配置以便可用,这可能就是你看到”big”模式的原因。可能他们在安装时禁用了mode-setting。这就是您从Live CD启动时看到”small”文本模式的原因。

您可以尝试使用不同的VESA模式启动,但这在很大程度上取决于您的硬件。为此,请检查http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers。例如,如果您想在1024×640上尝试启动文本模式,则会发现模式ID为877。

因此,在启动时,按住SHIFT键(如果没有GRUB超时)以显示GRUB的菜单。选择要启动的模式,然后按’e'(编辑命令)。在”kernel”命令结束时,添加vga=877。该号码是模式ID,如果您想尝试其他模式,请将其替换为所需的号码。

此外,在同一个维基百科页面上,您还可以在模式表下方尝试有用的”Universal format”。那个hwinfo命令非常有用。

第六种办法

为什么我回答这个威胁,即使它已经很老了?答案很简单,因为许多其他威胁都提到了它。

如果vbeinfohwinfo --framebuffer未显示显示器的原始分辨率,则禁用vesa,这样做会删除vga = options in:

sudo nano /etc/default/grub

搜索GRUB_CMDLINE_LINUX_DEFAULT=并删除vga=

如果您已删除该选项,请不要忘记生成新的grub.cfg:

sudo update-grub

如果你不知道你做得好,那么只需重新启动并打开终端:

grep vga /proc/cmdline
grep -ir vga /etc/modprobe.d/

如果grep没有显示任何内容,则删除了vga =选项。

现在安装uvesafb:

sudo apt-get install v86d

确保uvesafb模块包含在initrd中。将它添加到/etc /initramfs-tools /modules的末尾:

sudo sh -c "echo uvesafb >> /etc/initramfs-tools/modules"

要查看可用的模式:

sudo modprobe uvesafb
cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes

现在配置uvesafb mode_option = YOURxResoultion-BitColorMode例如1280×1024-32:

sudo sh -c "echo options uvesafb mode_option=1280x1024-32 scroll=ywrap > /etc/modprobe.d/uvesafb.conf"

不要忘记重建你的initrd:

sudo update-initramfs -k all -u

现在你可以重启!

有关详细信息,请参阅this。它适用于debian,但它也适用于ubuntu。我希望它对你有帮助,它应该比使用grub2更通用。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1679.html,未经允许,请勿转载。