首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更改GRUB启动顺序?

如何更改GRUB启动顺序?
EN

Ask Ubuntu用户
提问于 2012-01-31 16:18:09
回答 5查看 1.8M关注 0票数 444

我在共享机器上安装了Windows 7和Ubuntu。因为很多非开发人员使用Windows,所以我想改变引导顺序,使他们更容易。

当前,启动顺序如下所示:

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

如何更改默认顺序,使Windows 7位于列表的首位?

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

回答 5

Ask Ubuntu用户

回答已采纳

发布于 2012-01-31 17:30:39

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

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

代码语言:javascript
复制
sudo add-apt-repository ppa:danielrichter2007/grub-customizer

然后跑:

代码语言:javascript
复制
sudo apt-get update
sudo apt-get install grub-customizer

(另请参见以下问题:https://askubuntu.com/questions/35629.)

有一篇关于它的如何-对极客文章,如何以简单的方式配置Linux 2启动菜单。如果你感兴趣的话,看看吧。此外,在Ubuntu论坛上有一个已解决的线程,更改GRUB 2中的启动顺序提到了这个工具。

以下是一些截图:

一些疑难解答:

Grub定制器设置可能只在最新的Linux/Ubuntu安装中工作,安装了Grub。

例如,如果有人安装了两个OS-es (Windows和Ubuntu),然后安装了第三个OS (Manjaro等),然后尝试遵循上面的答案,则从第二个OS (本例中的Ubuntu)进行的更改将无法工作。该程序必须安装在第三个操作系统中,因为Grub似乎只能编辑安装在其上的系统所创建的Grub文件。

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

票数 366
EN

Ask Ubuntu用户

发布于 2012-03-07 03:44:17

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

首先,制作/etc/default/grub的备份副本。如果出了问题,您可以很容易地恢复到已知的好副本:

代码语言:javascript
复制
sudo cp /etc/default/grub /etc/default/grub.bak

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

代码语言:javascript
复制
sudo vim /etc/default/grub

查找包含

代码语言:javascript
复制
GRUB_DEFAULT=0

并将其设置为

代码语言:javascript
复制
GRUB_DEFAULT=x

其中x是默认要引导到的grub菜单项的索引。注意,菜单项是零索引的.这意味着列表中的第一项是0,第六项实际上是5。因此,要引导到列表中的第六项,行如下:

代码语言:javascript
复制
GRUB_DEFAULT=5

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

代码语言:javascript
复制
menuentry 'Ubuntu' [options] {

您还可以按名称选择默认值,而不是索引,例如:

代码语言:javascript
复制
GRUB_DEFAULT='Ubuntu'

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

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

代码语言:javascript
复制
GRUB_DEFAULT="Advanced options for Ubuntu>x"

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

代码语言:javascript
复制
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-45-generic"

然后构建更新的grub菜单:

代码语言:javascript
复制
sudo update-grub
票数 359
EN

Ask Ubuntu用户

发布于 2012-06-11 17:04:38

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

可以使用/etc/default/grub文件配置GRUB。在对其进行任何更改之前,最好通过创建一个副本来备份它: sudo cp /etc/ GRUB /etc/default/default/GUB.bak,您可以通过原始文件恢复复制备份: sudo cp /etc/default/grub.bak /etc/default/grub使用具有根权限的文本编辑器打开文件: gksu gedit /etc/ GRUB_DEFAULT=0 /GRUB行意味着GRUB将选择要引导的第一个菜单项。将此更改为GRUB_DEFAULT=saved。此更改将使以后更改默认项更容易。保存并关闭文件。运行以下命令,将您的更改应用于grub的配置: sudo我们所做的配置更改允许在任何时候使用grub设置默认和grub重新引导命令。这些允许您分别永久地或仅在下一次引导时更改默认的引导项。运行grub-set-defaultgrub-reboot (带有sudo),其中包含要引导的菜单项数(第一个项是0)。此命令将将默认值更改为第二项: sudo set-default1。

票数 45
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/100232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档