问题描述
我最近在我的电脑上使用了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
,可能除了桌面系统上的quiet
和splash
之外。
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"
在服务器系统上,取消注释GRUB_TERMINAL=console
以在进入图形控制台之前查看在引导期间传递的更多消息。
将此行留作评论:
#GRUB_GFXMODE=640x480
在文件末尾添加一行:
GRUB_GFXPAYLOAD_LINUX=1280x1024x16
或者通过硬件支持的任何其他(逗号分隔)模式替换该值。值text
,keep
,auto
,vga
和ask
也应该起作用。
最后,在使用Ctrl
+ O
保存已编辑的/etc/default/grub
并使用Ctrl
+ X
退出后,发出以下命令:
$ sudo update-grub
$ sudo reboot
此答案还可用于降低down-clocked系统的分辨率和/或刷新率或帧缓冲器频率。当刷新频率太高时,CRT监视器通常显示闪烁的条纹。
第四种办法
-
从GRUB菜单开始
-
按
C
转到GRUB命令行 -
运行
vbeinfo
并做出决定(例如1920x1200x32)。 -
再次启动系统
-
sudo nano /etc/default/grub
-
更改
GRUB_GFXMODE=
(例如GRUB_GFXMODE=1920x1200x32
) -
将
GRUB_GFXPAYLOAD_LINUX
设置为GRUB_GFXPAYLOAD_LINUX=keep
-
sudo update-grub
-
重启你的系统
第五种办法
只是一些个人背景:在我的另一台电脑中,我对这种奇特的模式没有任何问题(它是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命令非常有用。
第六种办法
为什么我回答这个威胁,即使它已经很老了?答案很简单,因为许多其他威胁都提到了它。
如果vbeinfo
或hwinfo --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更通用。