如何更改 GRUB 启动顺序?

如何更改 GRUB 启动顺序?

我在一台共享机器上安装了 Windows 7 和 Ubuntu。由于很多非开发人员都使用 Windows,因此我想更改启动顺序,以方便他们使用。

当前启动顺序如下:

  • Ubuntu 11.10 内核通用 *86
  • Ubuntu 11.10 kernelgeneric *86(安全启动)
  • 记忆测试
  • 记忆测试
  • Windows 7 上/dev/sda6

如何更改默认顺序以便 Windows 7 位于列表顶部?

  • Windows 7 上/dev/sda6
  • Ubuntu 11.10 内核通用 *86
  • Ubuntu 11.10 kernelgeneric *86(安全启动)
  • 记忆测试
  • 记忆测试

答案1

您还可以从命令行更改 grub 默认启动项,而无需安装任何其他工具。这不会改变列表中的顺序,但会允许默认启动不同的操作系统,这听起来可能是您想要的。

首先,备份/etc/default/grub。如果出现问题,您可以轻松恢复到已知良好的副本:

sudo cp /etc/default/grub /etc/default/grub.bak

vim然后使用或您选择的文本编辑器编辑该文件:

sudo vim /etc/default/grub

找到包含以下内容的行

GRUB_DEFAULT=0

并将其设置为

GRUB_DEFAULT=x

其中x是您希望默认引导到的 grub 菜单项的索引。请注意,菜单项的索引为零。这意味着列表中的第一个项目是 ,0而第六个项目实际上是5。因此,要引导到列表中的第六项,该行应为:

GRUB_DEFAULT=5

如果你忘记了菜单项的顺序,请查看/boot/grub/grub.cfg。每个菜单项都由一行类型指定:

menuentry 'Ubuntu' [options] {

您也可以通过名称而不是索引来选择默认值,例如:

GRUB_DEFAULT='Ubuntu'

如果有一行menuentry 'Ubuntu'/boot/grub/grub.cfg这可能是一种更好的方法,因为它不依赖于条目的顺序,因为条目的顺序可能会改变。

要使用“以前的 Linux 版本”子菜单中的内核,请使用:

GRUB_DEFAULT="Advanced options for Ubuntu>x"

(确保包含引号),其中x是子菜单上旧内核的索引,或内核在 中显示的名称/boot/grub/grub.cfg。例如,

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-45-generic"

然后构建更新的 grub 菜单:

sudo update-grub

答案2

您可以使用一个易于使用的 GUI 应用程序Grub 定制器让您的生活更轻松一些。顾名思义,您可以用它做更多的事情,而不仅仅是重新排序 GRUB 菜单项。您可以从 18.04 及更早版本的 PPA 安装它,也可以从 20.04 及更新版本的官方存储库安装它。

在 18.04 及更早的版本中,添加此 PPA(您可以在 20.04 及更新版本上跳过此命令):

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

然后运行:

sudo apt-get update
sudo apt-get install grub-customizer

(另请参阅 Ask Ubuntu问题

有一个如何极客关于它的文章,如何轻松配置 Linux GRUB 2 启动菜单。如果您有兴趣,可以看看。此外,Ubuntu 论坛上有一个已解决的帖子,更改 GRUB 2 中的启动顺序提到了这个工具。

以下是一些截图:

GRUB 定制器

GRUB 定制器 - 设置 - 常规

GRUB 定制器 - 设置 - 高级


一些故障排除:

Grub Customizer 设置可能仅在最新的 Linux/Ubuntu 安装(安装了 Grub 的安装)中起作用。

例如,如果有人安装了两个操作系统(Windows 和 Ubuntu),然后安装了第三个操作系统(Manjaro 等),然后尝试按照上述答案操作,则从第二个操作系统(在本例中为 Ubuntu)进行的 Grub Customizer 更改将不起作用。该程序必须安装在第三个操作系统中,因为 Grub Customizer 似乎只能编辑由安装其本身的系统安装创建的 Grub 文件。

在大多数情况下,确定 Grub 启动菜单的文件随机器上安装的最新系统一起提供,因此必须从Linux 系统。

答案3

来自tombuntu 站点(文章作者汤姆):

可以使用该文件配置 GRUB /etc/default/grub。在对其进行任何更改之前,最好先创建一份副本进行备份:

sudo cp /etc/default/grub /etc/default/grub.bak

您可以通过复制备份覆盖原始副本来恢复:

sudo cp /etc/default/grub.bak /etc/default/grub

使用具有 root 权限的文本编辑器打开该文件:

gksu gedit /etc/default/grub

该行GRUB_DEFAULT=0表示 GRUB 将选择第一个要启动的菜单项。将其更改为GRUB_DEFAULT=saved。此更改将使以后更改默认项更加容易。

保存并关闭文件。运行此命令以将更改应用到 GRUB 的配置:

sudo update-grub

我们所做的配置更改允许随时使用 grub-set-default 和 grub-reboot 命令。它们分别允许您永久更改默认启动项或仅在下次启动时更改默认启动项。

运行grub-set-defaultgrub-reboot(使用sudo)以及要启动的菜单项的编号(第一项为 0)。此命令将默认项更改为第二项:

sudo grub-set-default 1

答案4

在开始之前

请注意,这会使你的所有 GRUB 文件变得一团糟。请注意这个烦人的问题! 这就是您在开始之前所需要知道的全部内容。

启动时,输入 Ubuntu。Ubuntu 启动时,进入终端。输入以下命令:

gksudo gedit /etc/default/grub

当该命令打开时,将 GRUB_DEFAULT=0 更改为 GRUB_DEFAULT=saved,然后输入。使用以下命令更新 GRUB

sudo update-grub

最后,使用 设置默认操作系统sudo grub-set-default NUMBER。NUMBER 是您要设置为默认的操作系统的编号。


或者

使用以下命令安装 GRUB-customizer:

sudo add-apt-repository ppa:danielrichter2007/grub-customizer

sudo apt-get update

sudo apt-get install grub-customizer

引自:https://tipsonubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04/

这可能会提供您正在寻找的更详细信息。希望这对您有所帮助。

相关内容