当前位置: 首页>>技术问答>>正文


我如何更改GRUB引导顺序?

, ,

问题描述

我在共享机器上安装了Windows 7和Ubuntu。由于很多non-developers都使用Windows,因此我想更改引导顺序以使其更容易。

目前,引导顺序如下所示:

  • Ubuntu 11.10 kernelgeneric * 86

  • Ubuntu 11.10 kernelgeneric * 86(安全启动)

  • memory 测试

  • memory 测试

  • Windows 7上的/dev/sda6

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

  • Windows 7上的/dev/sda6

  • Ubuntu 11.10 kernelgeneric * 86

  • Ubuntu 11.10 kernelgeneric * 86(安全启动)

  • memory 测试

  • memory 测试

最佳解决方法

您可以使用名为Grub Customizer的GUI应用程序easy-to-use来让您的生活更轻松一些。顾名思义,您可以做的不仅仅是重新排序GRUB菜单条目。

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

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

(请参阅Ask Ubuntu问题Are PPA’s safe to add to my system and what are some “red flags” to watch out for?。)

有关于它的How-To Geek文章,How to Configure the Linux GRUB 2 Boot Menu the Easy Way。如果你有兴趣,请看看它。另外,Ubuntu论坛上有一个解决的线索,Change boot order in GRUB 2提到了这个工具。

以下是一些截图:

boot,grub2,ubuntu

boot,grub2,ubuntu

boot,grub2,ubuntu


一些故障排除

Grub Customizer设置只能在最新的Linux /Ubuntu安装(安装Grub的安装)中使用。

例如,如果有人安装了两个OS-es(Windows和Ubuntu),然后安装第三个操作系统(Manjaro等),然后尝试遵循上述答案,则从第二个操作系统(Ubuntu,在这个例子中)。该程序必须安装在操作系统中,因为Grub Customizer似乎只能编辑通过安装其自身的系统的安装而创建的Grub文件。

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

次佳解决方法

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

首先,制作/etc/default/grub的备份副本。如果出现问题,您可以轻松恢复到known-good副本:

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

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

sudo vim /etc/default/grub

找到包含的行

GRUB_DEFAULT=0

并将其设置为

GRUB_DEFAULT=x

其中x是默认情况下要启动到的grub菜单项的索引。请注意菜单项是zero-indexed。这意味着列表中的第一项是0,第六项实际上是5。因此,要引导到列表中的第六项,该行将显示为:

GRUB_DEFAULT=5

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

menuentry 'Ubuntu' [options] {

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

GRUB_DEFAULT='Ubuntu'

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

要在“以前的Linux版本”sub-menu中使用内核,请使用:

GRUB_DEFAULT="Previous Linux Versions>x"

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

然后建立更新的grub菜单:

sudo update-grub

第三种解决方法

来自tombuntu site(Tom的文章):

GRUB can be configured using the /etc/default/grub file. Before you make any changes to it, it may be a good idea to back it up by creating a copy:

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

You can restore the copying the backup over the original:

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

Open the file using the text editor with root privileges:

gksu gedit /etc/default/grub 

The line GRUB_DEFAULT=0 means that GRUB will select the first menu item to boot. Change this to GRUB_DEFAULT=saved. This change will make it easier to change the default item later.

Save and close the file. Run this command to apply your changes to GRUB’s configuration:

sudo update-grub 

The configuration change we made allows the grub-set-default and grub-reboot commands to be used at any time. These allow you to change the default boot item permanently or only for the next boot, respectively.

Run grub-set-default or grub-reboot (with sudo) with the number of the menu item to boot (the first item is 0). This command will change the default to the second item:

sudo grub-set-default 1 

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/98.html,未经允许,请勿转载。