如何提高控制台模式分辨率?


52

我最近在计算机上重新安装了Maverick。它使用专有的Nvidia驱动程序。

一切运行正常,除了在启动和关闭Ubuntu时看到很多难看的文字。

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

我不喜欢它的丑陋!

当我的计算机进入控制台模式时-(启动,关闭或CTRL + ALT + F1)文本很大-我无法为其截屏,但它看起来像是640x480的分辨率。我的显示器通常在1440x900分辨率下工作。

我记得从CD上安装时出现的控制台文本非常小。

从CD引导时,如何使控制台文本看起来像?

Answers:


34

我已经找到了可以在此论坛帖子中使用的解决方案

简而言之:

/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

最后,找到显示set的行,gfxmode=${GRUB_GFXMODE}并在其下方添加有效负载行。它看起来应该像这样:

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

保存并退出。

仍以root身份使用

update-grub2

重新启动,并且grub菜单和控制台都应具有更好的分辨率。

完蛋了!


1
我认为我的解决方案仅适用于grub2。您是否正在使用grub 1?如果是,请先尝试使用较低的分辨率-例如1024x768x32。问候!
egarcia'1

1
不幸的是,
它对

3
目前看起来grub2并未使用'GRUB_GFXPAYLOAD'选项,仅使用了'GRUB_GFXPAYLOAD_LINUX'选项。请参阅有关grub2的官方文档:gnu.org/software/grub/manual/grub.html#gfxpayload
mbaitoff 2011年

2
看到一个更通用的响应将适用于大多数分辨率会更有趣。
索林2012年

2
这个答案已贬值,在Ubuntu Server 12.04 LTS上对我不起作用。此外,它涉及到编辑一个00_header实际上不应编辑的名为的文件。
Serge Stroobandt,2014年

23

这对使用ESXi 5.5的Ubuntu 14.04有所帮助:

sudo vi /etc/default/grub

将行更改为:

GRUB_CMDLINE_LINUX_DEFAULT="splash vga=792"

然后运行:

sudo update-grub
sudo reboot -r now

使用795或799可获得更高的分辨率(更多详细信息请参见此处)。


1
该解决方案为我工作。该splash选项冻结了登录屏幕,我认为这是不必要的。顺便说一句,我真的不喜欢792这样的神秘选项!
Kyr

1
其弃用15.04
吉日Doubravský

也在fedora 21上工作
Edward Torvalds 2015年

@JiříDoubravský那么该怎么办?其他答案不起作用
爱德华·托瓦尔兹

1
reboot-r无论如何,命令不喜欢该选项。
Jin Kwon

15
  1. 从GRUB菜单开始
  2. 按下C以转到GRUB命令行
  3. 运行vbeinfo并做出决定(例如1920x1200x32)。
  4. 重新启动系统
  5. sudo nano /etc/default/grub
  6. 变更GRUB_GFXMODE=(例如GRUB_GFXMODE=1920x1200x32
  7. 设置GRUB_GFXPAYLOAD_LINUXGRUB_GFXPAYLOAD_LINUX=keep
  8. sudo update-grub
  9. 重新启动系统

在这个问题的所有答案中,这是最适合我使用Ubuntu 16.04服务器的服务器(这是最简单的服务器)
Seb-SonarSource Team

上面的第2步:我发现应该按“ c”输入命令行(而不是“ E”)
kaiwan,2016年

在带有Ubuntu 16.10的VMware Workstation Player上不起作用
Sebi2020 '16

@ Sebi2020现在哪一个?VMware Player还是VMware Workstation?适用于具有Ubuntu 16.04的VMware Workstation 14.0。
0xC0000022L

1
@ 0xC0000022L VMWare工作站10
Sebi2020 '17

14

用以下方式设置图形模式 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

或用您的硬件支持的任何其他(逗号分隔)模式替换该值。该数值textkeepautovga并且ask也应该工作。

最后,保存编辑后/etc/default/grubCtrl+ O,并退出其Ctrl+ X,发出以下命令:

$ sudo update-grub
$ sudo reboot

此答案还可以降低时钟系统上的分辨率和/或刷新率或帧缓冲频率。当刷新频率太高时,CRT监视器通常会出现闪烁的条纹。


1
没有hwinfo了
obayhan

1
@obayhan很好!您可以xrandr改用。
Serge Stroobandt '02

1
适用于16.04。
Jin Kwon

1
这个。这是16.10上唯一对我有用的东西。
西古萨

4

只是一些个人背景:在我的另一台计算机上,我没有遇到这种花哨的模式的问题(它是160列x 60行,但它具有4:3的CRT监视器)。它配备了TNT2(是的,我发誓),并且在首次启动时会迅速显示该模式。问题是,它是通过加载nouveau驱动程序来完成的,而这个家伙还是有点毛病(就我而言,当试图移动窗户时,它会挂起整个系统)。因此,要拥有一个可用的系统,我必须降级到旧的稳定的nv驱动程序,并禁用模式设置(因为启用后,内核将始终加载nouveau)。请注意,我没有使用nVidia专有驱动程序,但是像您一样,我在控制台模式下切换回80x25。

这是因为nv驱动程序不使用内核模式设置。现在,我不知道专有驱动程序,但是我猜想它们可能已经更改了您的配置以便可用,这也许就是为什么您看到这种“大型”模式的原因。可能他们在安装时禁用了模式设置。这就是为什么从Live CD引导时看到“小”文本模式的原因。

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

因此,在启动时,按住SHIFT键(如果您没有GRUB超时)以调出GRUB的菜单。选择您要启动的模式,然后按“ e”(编辑命令)。在“内核”命令的末尾,添加vga=877。该数字是模式ID,如果您想尝试其他模式,请用所需的数字替换。

此外,在同一Wikipedia页面上,您还可以尝试在“模式”表下方尝试有用的“通用格式”。该hwinfo命令非常有用。


1
我使用grub2,而不是grub。我不知道grub是控制台的责任,所以我没有在问题中提到这一点。抱歉。我找到了grub2的解决方案。问候!
egarcia

确实,您发现的解决方案似乎也更简单。很高兴您能解决问题,并感谢您的分享!
Charles Roberto Canato

4

我为什么要回答这个威胁,即使它已经很老了?答案很容易,因为涉及到许多其他威胁。

如果vbeinfo还是hwinfo --framebuffer没有显示你的显示器的原始分辨率,然后禁用VESA,这么做消除VGA =选项:

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,例如1280x1024-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

现在您可以重启了!

请参阅了解更多详情。它适用于debian,但也适用于ubuntu。我希望它对您有所帮助,并且应该比使用grub2更通用。


+1无需更改grub配置,即可uvesafb在Ubuntu 16.04上使用专有的nvidia驱动程序为我工作(在其他情况下建议在其他情况下不建议使用KMS
jfs

1

Ubuntu 18控制台模式

编辑

GRUB_CMDLINE_LINUX_DEFAULT="splash quite"

/etc/default/grub

所以新行看起来像:

GRUB_CMDLINE_LINUX_DEFAULT="splash quiet vga=XXX nomodeset"

XXX来自哪里

https://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/

然后重新加载grub配置并重新启动

update-grub2
reboot

看来这个问题已经有很多类似的答案。也许您可以弄清楚是什么促使您添加答案(即以前发布的答案中缺少哪些信息)。
cauon

很简单。适用于最新的Ubuntu 18
Paul Paku

0

这不会在启动时更改字体,但会在Ctrl+ Alt+ 上更改控制台F[1-6]

为您的控制台安装自定义Ubuntu字体:

sudo apt-get install fonts-ubuntu-font-family-console

/usr/local/bin/fontset使用以下命令创建脚本:

#!/bin/sh
setfont /usr/share/consolefonts/Uni3-TerminusBold32x16.psf.gz

(从文件夹中选择所需的格式/usr/share/consolefonts/

fontset使用Ctrl+ Alt+ 后,您可以在控制台上每次调用F1

或将此行添加到您的 /root/.profile

[ ! -t 0 ] && sleep 1 & /usr/local/bin/fontset

(请勿将此添加到用户的.profile中,否则在图形启动时会出现错误)

来源:在启动消息屏幕和控制台上调整字体大小


0

以下在Debian Stretch 4.9.51-1上为我工作。
没有GUI,只有控制台模式:

编辑/etc/default/grub并添加以下行

GRUB_CMDLINE_LINUX_DEFAULT="splash vga=795 nomodeset"

有关vga=代码列表,请参见http://pierre.baudu.in/other/grub.vga.modes.html

nomodeset防止分辨率从蛴螬初始化后,再次改变[感谢我如何增加控制台模式的分辨率是多少?]

编辑: 如@Videonauth所述:之后,请执行以下操作: sudo update-grub


要进行更改/etc/default/grub还不够,您还需要随后运行以使更改sudo update-grub发生
Videonauth
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.