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


32

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



2
@severin:不,不是。那只能告诉我如何将其设置为可以找到的特定分辨率,而不是将其设置为在启动时检测的最大分辨率。
Mehrdad

“ vbeinfo”将告诉您最大支持的分辨率。然后,您可以编辑/ etc / default / grub以使用该分辨率。
马丁

3
@severin:您仍然不明白这个问题!!:(我想自动检测,而不是手动检测。
迈赫达德

2
@AmithKK:嗯,是吗?我有各种不同的决议...
梅尔哈德

Answers:


50

我猜想您问这个问题的原因是,您在同一台Ubuntu计算机上使用了不同的监视器,并且希望GRUB2在所有监视器上都看起来不错。但是,如果您担心Ubuntu启动后使用的分辨率,则无法解决该问题。GRUB2不会“传递给内核”它为引导菜单选择的分辨率。

编辑/etc/default/grubroot。您可能要先备份它:

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,并将分辨率从更改640x480auto。该行现在应显示为:

GRUB_GFXMODE=auto

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

sudo update-grub

(必须在对进行每次修改之后运行此命令/etc/default/grub,才能应用更改。)

现在重新启动,看看是否满足您的要求。

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

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

您不一定要完全使用该行。您应该按照要尝试的顺序列出要尝试的所有分辨率。我列出的分辨率是宽高比为4:3的显示器的最标准分辨率,但是宽屏显示器(包括如今的大多数笔记本电脑屏幕)具有不同的外形尺寸并使用不同的分辨率。维基百科列出了一些可能对您有所帮助的常见解决方案。如果知道每种设备所需的特定分辨率,则可以列出它们(最高的)。您可能应该在640x480auto末尾加上。我建议这样做是因为我不知道GRUB2是否会始终尝试安全的低分辨率(如果您不包括在内)。

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

如果不是这样,您可能不走运。GRUB2的视频显示方式与Ubuntu引导后的显示方式不同。GRUB2使用VESA BIOS Extensions显示具有增强的分辨率(和色深)的启动菜单,并且通过VBE机器的最大分辨率并不总是与视频卡和监视器所支持的最大分辨率一样高。

资料来源:官方GRUB2文档。(您会注意到版本号是1.99。它仍然是GRUB2。有点令人困惑,但确实如此。)

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


+1绝对是一个可行的解决方案,即使它并不完美。感谢您的详细回答,它写得很好!
Mehrdad

2
同样,仅供参考,GRUB_GFXMODE=auto几乎总是可以通过VESA获得最佳分辨率。VESA宽屏分辨率不是标准化的,而且我从未能够从Grub2获得任何分辨率。我听说有可能,如果使用Intel GFX芯片和一些半复杂的VESA软补丁。对于非Intel GFX芯片,这是不可能的。...如果您的目标是目标,也应该在我的评论中添加+1。:P
JM贝克尔2012年

1
@Mehrdad悬赏这个答案。这与您获得AFAIK的
可能性

@AmithKK:我很有可能会,尽管我想我会稍等一下,然后让其他人至少有机会阅读这个问题,然后再授予我哈哈。:)
迈尔达德(Mehrdad)

12

还有一个GUI选项可用。

Grub定制器:

Grub Customizer允许编辑,重命名,重新排序或冻结Grub条目。它还允许更改Grub菜单的背景颜色或添加自定义图片,并且还支持BURG自定义。您还可以在Live CD / USB环境中使用Grub Customizer来解决启动问题。

安装:

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

sudo add-apt-repository ppa:danielrichter2007 / grub-customizer
sudo apt-get更新
sudo apt安装grub-customizer

如何使用:

一旦安装,命中Alt+ F2,类型grub-customizer和命中Enter

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

打开后,Preferences在工具栏中单击。

在此处输入图片说明

Appearance标签enable下custom resolution,然后auto在文本框中键入。

在此处输入图片说明

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

1440x900,1680x1050,1920x1200,2560x1600

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

1440x900x16,1680x1050x16,1920x1200x16,2560x1600x16

在此处输入图片说明

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

在此处输入图片说明

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

sudo apt-get autoremove --purge grub-customizer
sudo add-apt-repository -r ppa:danielrichter2007 / grub-customizer
sudo apt-get更新
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.