当前位置: 首页>>技术问答>>正文


GRUB2:使用最大检测分辨率?

, , ,

问题描述

如何告诉GRUB2将其分辨率(以及传递给内核的分辨率)设置为它在启动时可以检测到的最大分辨率?

最佳解决思路

我认为你问的原因是你在同一台Ubuntu机器上使用不同的显示器,你希望GRUB2在所有这些显示器上看起来都很好。但是,如果您担心Ubuntu启动时使用的解决方案,则无法解决此问题。 GRUB2没有“传递给内核”它为引导菜单选择的分辨率。

/etc/default/grub编辑为root。您可能需要先备份它:

sudo cp /etc/default/grub /etc/default/grub.old

(您可以在终端中运行它,您可以通过按Ctrl + Alt + T打开它。)

要使用Gedit编辑它作为root运行:

gksu gedit /etc/default/grub

(或者,如果您使用的是Kubuntu,请改为运行kdesudo kate /etc/default/grub。)

如果您在终端中运行该命令而不是使用Alt + F2,那么您将在终端中收到大量消息。您会注意到他们没有说他们属于您正在编辑的文件,所以没关系。

你会发现文件的一部分说的是这样的:

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

GRUB_GFXMODE的行中取消注释(即删除前导#),并将分辨率从640x480更改为auto。该行现在应该是:

GRUB_GFXMODE=auto

保存文件并退出编辑器。在终端中,运行:

sudo update-grub

(必须在每次修改/etc/default/grub后运行,才能应用更改。)

现在重新启动,看看它是否符合您的要求。

它可能不会(因为它使用可能不是最高的”platform default”)。如果是这种情况,请再次编辑/etc/default/grub,这次更改该行,使其显示如下内容:

GRUB_GFXMODE=1600x1200,1280x1024,1024x768,800x600,640x480

您不一定要使用该行。您应按照希望尝试的顺序列出要尝试的所有分辨率。我列出的分辨率是宽高比为4:3的显示器的最标准分辨率,但宽屏显示器(包括目前大多数笔记本电脑屏幕)具有不同的外形尺寸并使用不同的分辨率。维基百科有一个list of common resolutions可以帮助您。如果您知道每个设备所需的特定分辨率,则只需列出它们(最高的第一个)。您最后应该包括640x480auto。我推荐这个,因为我不知道GRUB2是否会一直尝试安全的低分辨率,如果你不包括它。

然后再次保存文件,再次运行sudo update-grub,再次重新启动,看看是否满足您的需要。

如果没有,你可能会失败。 GRUB2不会像Ubuntu启动时那样显示视频。 GRUB2使用VESA BIOS Extensions显示具有增强分辨率(和颜色深度)的启动菜单,并且机器通过VBE的最大分辨率并不总是与视频卡和显示器支持的最大分辨率一样高。

资料来源:official GRUB2 documentation。 (你会注意到the version number is 1.99。它仍然是GRUB2。有点令人困惑,但确实如此。)

[最后,感谢TechZilla指出此答案的原始版本中存在严重错误。]

次佳解决思路

还有一个GUI选项可用。

Grub定制器:

Grub Customizer允许编辑,重命名,re-order或冻结Grub条目。它还允许更改Grub菜单的背景颜色或添加自定义图片,并支持BURG自定义。您还可以使用Live CD /USB环境中的Grub Customizer来修复引导问题。

安装:

点击Alt + Ctrl + T打开终端并运行以下命令:


sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

如何使用:

安装完成后,点击Alt + F2,键入grub-customizer并点击Enter

通过提供用户密码进行身份验证。

打开后,单击工具栏中的Preferences

boot,grub2,resolution,ubuntu

Appearance选项卡下,启用custom resolution,并在文本框中键入auto

boot,grub2,resolution,ubuntu

或者,在Advanced选项卡下,启用GRUB_GFXMODE并在其前面的文本字段中键入auto。您还可以将分辨率指定为一个或多个模式的序列,以逗号(‘,’)或分号(‘;’)分隔;每个都将依次尝试,直到找到一个。例如:

1440x900,1680x1050,1920x1200,2560x1600

或指定深度(8,16或24):

1440x900x16,1680x1050x16,1920x1200x16,2560x1600x16

boot,grub2,resolution,ubuntu

关闭“Preferences”对话框,然后单击主窗口工具栏上的“保存”。而已!

boot,grub2,resolution,ubuntu

要删除Grub Customizer,请在终端中运行以下命令:


sudo apt-get autoremove --purge grub-customizer
sudo add-apt-repository -r ppa:danielrichter2007/grub-customizer
sudo apt-get update

参考资料

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