我在共享计算机上同时安装了Windows 7和Ubuntu。因为许多非开发人员都使用Windows,所以我想更改引导顺序以使其更容易使用。

当前引导顺序如下所示:


Ubuntu 11.10 kernelgeneric * 86
Ubuntu 11.10 kernelgeneric * 86(安全启动)
内存测试
内存测试
/dev/sda6上的Windows 7 />
如何更改默认顺序,使Windows 7在列表的顶部?


/dev/sda6上的Windows 7

Ubuntu 11.10 kernelgeneric * 86
Ubuntu 11.10 kernelgeneric * 86(安全启动)
内存测试
内存测试


评论

类似的问答:askubuntu.com/questions/52963/…

更改grub文件后,您是否做了“ sudo update-grub”?

是的,我想我可能已经忘记这样做了,谢谢!我将尝试更新结果。

kubuntu 14.04 sudo apt-get install kde-config-grub2然后在系统配置中转到启动关机

#1 楼

您可以使用一个易于使用的GUI应用程序,称为Grub Customizer,使您的生活更加轻松。顾名思义,您不仅可以对GRUB菜单条目进行重新排序。

您可以通过以下方式安装它:

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


(请参阅Ubuntu的问题PPA可以安全地添加到我的系统中,需要注意哪些“危险信号”吗?。)

有一篇有关如何配置的极客文章,如何配置Linux GRUB 2引导菜单的简便方法。如果有兴趣,请看一下。另外,Ubuntu论坛上有一个已解决的线程,提到此工具的GRUB 2中的更改启动顺序。

以下是一些屏幕截图:








一些故障排除:安装,即安装了Grub的那个。

例如,如果某人安装了两个OS(Windows和Ubuntu),然后安装了第三个OS(Manjaro等),然后尝试按照上述答案进行操作,则Grub Customizer的更改不会从第二个操作系统(在示例中为Ubuntu)制作时可以正常工作。该程序必须安装在其操作系统中,因为Grub Customizer似乎只能编辑由安装了自身的系统的安装创建的Grub文件。

多数情况下,确定Grub引导菜单的文件是在计算机上安装的最新系统,因此必须从该Linux系统安装和使用Grub Customizer。

评论


最受欢迎:)屏幕截图来自上面链接的博客文章:P

– Nitin Venkatesh
2012年1月31日17:51

这不适用于最新的Ubuntu。我们可以在这里获得更新的帖子吗?

– A T
2012年7月30日在21:34

我认为您的回答很好并且很有帮助,所以请不要误解我的意思。尽管GUI工具既简洁又方便,但它们掩盖了事实。 Marve在下面的回答中讨论了正在使用的文件以及如何手动更新它们,从而提供了有关Grub工作原理的见解。当GUI失败时,至少会窥视一些基础知识-毕竟它们并不是那么困难,从长远来看,手动操作可能会更容易。

– Barrypicker
2014年1月26日下午5:14

使用该工具也遇到了问题。似乎它更新了/ etc / default / grub的正确性,但随后它说核心转储并中止了。

–毛里西奥·格拉西亚·古铁雷斯(Mauricio Gracia Gutierrez)
2014年6月15日14:44

这需要与当前grub菜单的双重级别相关的更新。

– Hannu
15年8月21日在9:47

#2 楼

您也可以从命令行更改grub默认启动项,而不必安装任何其他工具。这不会更改列表中的顺序,但默认情况下它将允许其他操作系统启动,这听起来还是您想要的。
首先,制作/etc/default/grub的备份副本。万一出现问题,您可以轻松地恢复为已知良好的副本:
sudo cp /etc/default/grub /etc/default/grub.bak

,然后使用vim或您选择的文本编辑器编辑文件:
sudo vim /etc/default/grub

查找包含
GRUB_DEFAULT=0
的行,其中x是您要默认引导至的grub菜单项的索引。请注意,菜单项是零索引的。这意味着列表中的第一项是0,而第六项实际上是5。因此,要启动到列表中的第六项,该行应显示为:
GRUB_DEFAULT=x

如果您忘记了这些项目的顺序,请查看/boot/grub/grub.cfg。每个菜单项都由以下类型的行指定:
GRUB_DEFAULT=5

还可以通过名称而不是索引来选择默认值,例如:
menuentry 'Ubuntu' [options] {

如果有menuentry 'Ubuntu'行在/boot/grub/grub.cfg上。这可能是更好的方法,因为它不依赖于条目的顺序,后者可能会改变。
要在“以前的Linux版本”子菜单中使用内核,请使用:
GRUB_DEFAULT='Ubuntu'

(请确保包括引号),其中x是旧内核在子菜单上的索引,或者是/boot/grub/grub.cfg中显示的内核名称。例如,
GRUB_DEFAULT="Advanced options for Ubuntu>x"

,然后构建更新的grub菜单:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-45-generic"


评论


最后我看了看grub2在运行中生成了这么多条目,以至于很难弄清楚该条目使用什么数字。

–乔
2012年6月20日17:53

使用索引可能会非常混乱-更新后,操作系统列表可能会更改。但是您可以查看/boot/grub/grub.cfg并搜索所需的默认操作系统的名称。然后使用引号而不是索引。示例:GRUB_DEFAULT =“ Microsoft Windows XP Professional(在/ dev / sda1上)”,而不是GRUB_DEFAULT = 7

–geekQ
2012年12月9日在11:57

这需要与当前grub菜单的双重级别相关的更新。

– Hannu
15年8月21日在9:47

对于当前版本的Ubuntu 16.04,如果要选择要引导的特定内核,则需要添加到Ubuntu子菜单的“高级”选项,如下所示:GRUB_DEFAULT ='对于Linux> Ubuntu> Ubuntu的高级选项。 0-34通用”

–杰夫·威廉姆斯(Geoff Williams)
16-09-13在14:30

@BandaMuhammadAlHelal它将尝试引导列表中的第七项-这就是您想要的吗?如果要在列表上显示第6个项目,请使用GRUB_DEFAULT = 5。

–尼克
17年1月16日在14:01

#3 楼

从tombuntu站点(Tom的文章):


可以使用/etc/default/grub文件配置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



评论


这个答案几乎是从tombuntu.com/index.php/2011/09/25/…上逐字逐句地获取的。请在信用到期的地方给予信用。

–詹姆斯·麦克马洪
2012年11月6日23:00

这个答案似乎并没有改变引导项目的顺序。

– Sparhawk
2014年5月26日在3:44

我正在使用Linux Mint Debian Edition。我没有/ etc / default / grub,但是发现要修改的GRUB_DEFAULT值位于/etc/grub.d/00_header中。用所需的启动项名称修改00_header中的GRUB_DEFAULT之后,我简单地运行了“ sudo update-grub”,结果成功。

–模糊分析
2014年12月14日在3:11



我在tiponubuntu.com/2016/07/20/grub2-boot-order-ubuntu-16-04中看到了相同的命令,我意识到这些命令仅在它们以引导顺序0从系统发出时才起作用。

–太阳熊
18年1月2日在1:35



#4 楼

启动时,输入Ubuntu。 Ubuntu启动时,输入任一终端。输入以下命令:
gksudo gedit /etc/default/grub

打开该命令时,将GRUB_DEFAULT = 0更改为GRUB_DEFAULT = saved,然后输入。使用命令
更新GRUB
sudo update-grub

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

OR
使用以下命令安装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/
这可能会提供您正在寻找的更详细的信息。希望对您有所帮助。

#5 楼

我尝试了以下操作,并获得了良好的结果。

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

键入sudo gksu nautilus并按Enter。
键入您的用户密码。

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

在文件中,您将找到该行(set default="0")。编辑0到要加载的Grub中的行号。我的是第六行,所以我用了5,因为第一行被认为是0。保存文件。重新启动计算机,如果选择正确的行,则在加载Grub时将突出显示该行。

祝你好运

评论


如您在文件开头所看到的,它表明您不应这样做。而是编辑/ etc / default / grub,然后运行update-grub。

– sazary
2012年10月23日在11:32

而且我也不建议gksu nautilus。从那里将炸弹扔到系统中太容易了。

–西尔维努尔格
13年3月28日在9:20

检查这篇文章:psychocats.net/ubuntu/bootmenu

– tqjustc
15年1月28日在22:07

由于某种原因,当搜索“ grub change boot order”时,该答案在Google中显示为“自动答案”。

–lepe
2015年9月11日下午0:55

@lepe,别担心,对我来说默认值为linuxandubuntu.com/home/…

–vladkras
16年5月15日在7:24

#6 楼

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

键入gksu nautilus,然后按Enter。

将打开文件浏览器Nautilus权限以更改root用户拥有的文件。

导航到文件/boot/grub/grub.cfg,然后双击以在文本编辑器中打开该文件。该文件属于不同的操作系统。这样做时必须非常小心,因为如果做错了,则将无法启动。始终可以使用Windows安装光盘(FIXMBR)中的工具修复Windows启动,该安装光盘会用典型的Windows-MBR覆盖GRUB-MBR。每次都能正常工作。

但是我只尝试将Windows启动部分移到列表的顶部,以使其成为默认值。

如果我的记忆正确,文件中的每个引导菜单部分均以begin ...开头,并以... end结束。并跨越多个文本行。

该文件中的文本变得有点复杂,在上一个Ubuntu版本中与以前的版本看起来不一样。因此,请使用大脑来避免犯错。

评论


您是否不必在某个时候运行sudo update-grub?

– Eliah Kagan
2012年7月6日在12:01

/boot/grub/grub.cfg在安装/更新的每个软件包中均被覆盖,从而触发Grub的更新,从而有效地调用update-grub。然后生成一个新的grub.cfg。因此,如其他答案所述,在/ etc目录中的文件中完成对Grub的配置,以确保其持久性。

– Gertvdijk
2012-09-19 20:16



我不明白的是,鹦鹉螺甚至会做什么?它与启动顺序更改有什么关系?

–杰夫
20 Mar 10 '20 at 20:33