我如何改变GRUB的启动顺序?

我在一台共享机上同时安装了Windows 7和Ubuntu。因为很多非开发人员使用Windows,所以我想改变启动顺序,让他们更容易接受。

目前的启动顺序是这样的。

  • Ubuntu 11.10 kernelgeneric *86
  • Ubuntu 11.10 kernelgeneric 86 (安全启动) 内存测试
  • 内存测试 *在/dev/sda6上的Windows 7

如何改变默认顺序,使Windows 7处于列表的顶部?

  • Windows 7 在 /dev/sda6
  • Ubuntu 11.10 kernelgeneric *86
  • Ubuntu 11.10 kernelgeneric *86 (安全启动)
  • 内存测试
  • 内存测试
对该问题的评论 (4)
解决办法

你可以使用一个叫做Grub Customizer的易于使用的GUI应用程序来使你的生活更容易一些。顾名思义,你能做的远不止是用它重新排列GRUB菜单项。

你可以通过以下方式安装它。

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

(参见Ask Ubuntu问题 PPA's在我的系统中是否安全,有哪些需要注意的 "红旗"?)

有一篇How-To Geek关于它的文章,How to Configure the Linux GRUB 2 Boot Menu the Easy Way。如果你有兴趣,可以看一看。另外,在Ubuntu论坛上有一个已解决的主题,改变GRUB 2的启动顺序,提到了这个工具。

这里有一些屏幕截图。

屏风_1]6

屏风_2]7屏风_2

屏风_3]8屏风_3


一些故障排除。

Grub定制器的设置可能只在最新的Linux/Ubuntu安装中起作用,就是安装Grub的那个。

例如,如果有人安装了两个操作系统(Windows和Ubuntu),然后又安装了第三个操作系统(Manjaro,等等),然后试图按照上面的答案去做,当从第二个操作系统(Ubuntu,在这个例子中)进行修改时,Grub Customizer将无法工作。该程序必须安装在第三种操作系统中,因为Grub Customizer似乎只能编辑由安装系统创建的Grub文件。

在大多数情况下,决定Grub启动菜单的文件是在机器上安装的最新系统,所以Grub Customizer必须从***的Linux系统中安装和使用。

评论(12)

你也可以从命令行中改变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'

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

要在"以前的Linux版本"子菜单中使用一个内核,请使用。

GRUB_DEFAULT="Previous Linux Versions>x"

(确保包括引号),其中x是子菜单中旧内核的索引,或者是/boot/grub/grub.cfg中的内核名称。比如说

GRUB_DEFAULT="Previous Linux Versions>4.13.0-43-generic"

然后建立更新的grub菜单。

sudo update-grub
评论(12)

来自tombuntu网站(文章作者:Tom)。

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-default'或grub-reboot'(使用`sudo'),其编号为 要启动的菜单项的编号(第一项是0)。这个命令将 改变默认值为第二项。

sudo grub-set-default 1

评论(4)

我尝试了以下方法,得到了很好的效果。

打开一个终端窗口(Ctrl+Alt+T)。

输入sudo gksu nautilus,然后按Enter键。 输入你的用户密码。

导航到文件/boot/grub/grub.cfg。 复制并粘贴到同一目录下,应创建grub.cfg文件的副本,以便备份。 然后双击grub.cfg,在文本编辑器中打开该文件。

在文件中你会发现有一行(set default="0")。 将0编辑成你要加载的Grub中的行号。 我的是第六行,所以我用了5,因为第一行被认为是0。 保存文件。 重新启动电脑,如果你选择了正确的行,当Grub加载时,它将是高亮的一行。

祝您好运

评论(5)

打开一个终端窗口(Ctrl+Alt+T),或按Alt+F2。

输入gksu nautilus,然后按Enter+F2。

这将打开文件浏览器Nautilus,并拥有更改root拥有的文件的权限。

导航到文件/boot/grub/grub.cfg,双击在文本编辑器中打开该文件。

剪切、移动和粘贴该文件中属于不同操作系统的部分。 你在做这件事的时候一定要**非常小心,因为如果你做错了,那么你将无法再启动。 Windows启动总是可以用windows安装光盘中的工具来修复(FIXMBR),用典型的Windows-MBR覆盖GRUB-MBR。

我已经从Ubuntu 9.04测试到12.04,每次都能正常工作。

但我只试过将Windows引导部分移到列表的顶部,使其成为默认的。

如果我的记忆没错的话,文件中的每个启动菜单部分都是以 "begin "开始......结束。 并以...end结束。 并且跨越了多行文字。

该文件中的文字已经变得有点复杂了,而且在上一个Ubuntu版本中,它看起来和以前的版本不一样。 所以动动脑子一下,省得做错事。

评论(2)