我在共享机器上安装了 Windows 7 和 Ubuntu。因为很多非开发人员都使用 Windows,所以我想更改引导顺序,让他们更容易使用。
目前,引导顺序如下所示:
/dev/sda6
如何更改默认顺序以使 Windows 7 位于列表顶部?
/dev/sda6
Nit*_*esh 338
您可以使用名为Grub Customizer的易于使用的 GUI 应用程序让您的生活更轻松。顾名思义,您可以做的不仅仅是用它重新排序 GRUB 菜单项。
您可以通过以下方式安装它:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
Run Code Online (Sandbox Code Playgroud)
(请参阅询问 Ubuntu 问题PPA 是否可以安全地添加到我的系统中,以及需要注意哪些“危险信号”?。)
有一篇关于它的How-To Geek文章,How to Configure the Linux GRUB 2 Boot Menu the Easy Way。如果您有兴趣,请查看它。此外,Ubuntu 论坛上有一个已解决的线程,在 GRUB 2中更改引导顺序,其中提到了此工具。
以下是一些截图:
一些故障排除:
Grub 定制器设置可能只能在最新的 Linux/Ubuntu 安装中工作,也就是安装了 Grub 的那个。
For example, if somebody has two OS-es installed (Windows and Ubuntu), and then installs a third OS (Manjaro, etc) and then tries to follow the above answer, Grub Customizer changes will not work when made from the second OS (Ubuntu, in the example). The program has to be installed in the thirs OS, as it seems that Grub Customizer can only edit the Grub files created by the installation of the system on which itself is installed.
The files that determine the Grub boot menu come in most cases with the latest system installed on a machine, so Grub Customizer has to be installed and used from that Linux system.
dch*_*les 320
您还可以从命令行更改 grub 默认启动项,而无需安装任何其他工具。这不会改变列表中的顺序,但它会允许默认情况下启动不同的操作系统,这听起来像是您可能想要的。
首先,制作一个备份副本/etc/default/grub
。如果出现问题,您可以轻松恢复到已知良好的副本:
sudo cp /etc/default/grub /etc/default/grub.bak
Run Code Online (Sandbox Code Playgroud)
然后使用vim
或您选择的文本编辑器编辑文件:
sudo vim /etc/default/grub
Run Code Online (Sandbox Code Playgroud)
找到包含的行
GRUB_DEFAULT=0
Run Code Online (Sandbox Code Playgroud)
并将其设置为
GRUB_DEFAULT=x
Run Code Online (Sandbox Code Playgroud)
x
默认情况下,您希望引导到的 grub 菜单项的索引在哪里。请注意,菜单项是零索引的。这意味着列表中的第一项是0
,而第六项实际上是5
。因此,要引导至列表中的第六项,该行将显示为:
GRUB_DEFAULT=5
Run Code Online (Sandbox Code Playgroud)
如果您忘记了物品的顺序,请查看/boot/grub/grub.cfg
。每个菜单项都由一行类型指定:
menuentry 'Ubuntu' [options] {
Run Code Online (Sandbox Code Playgroud)
您还可以通过名称而不是索引选择默认值,例如:
GRUB_DEFAULT='Ubuntu'
Run Code Online (Sandbox Code Playgroud)
如果有一条menuentry 'Ubuntu'
线/boot/grub/grub.cfg
。这可能是一种更好的方法,因为它不依赖于可能会更改的条目顺序。
要在“以前的 Linux 版本”子菜单中使用内核,请使用:
GRUB_DEFAULT="Advanced options for Ubuntu>x"
Run Code Online (Sandbox Code Playgroud)
(确保包括引号),x
子菜单上旧内核的索引在哪里,或者内核的名称出现在/boot/grub/grub.cfg
. 例如,
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-45-generic"
Run Code Online (Sandbox Code Playgroud)
然后构建更新的 grub 菜单:
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
sil*_*nTK 42
来自tombuntu 网站(Tom 的文章):
可以使用该
/etc/default/grub
文件配置 GRUB 。在对其进行任何更改之前,最好通过创建副本来备份它:Run Code Online (Sandbox Code Playgroud)sudo cp /etc/default/grub /etc/default/grub.bak
您可以通过原始备份恢复复制备份:
Run Code Online (Sandbox Code Playgroud)sudo cp /etc/default/grub.bak /etc/default/grub
使用具有 root 权限的文本编辑器打开文件:
Run Code Online (Sandbox Code Playgroud)gksu gedit /etc/default/grub
该行
GRUB_DEFAULT=0
表示 GRUB 将选择要引导的第一个菜单项。将此更改为GRUB_DEFAULT=saved
. 此更改将使以后更容易更改默认项。保存并关闭文件。运行此命令将更改应用到 GRUB 的配置:
Run Code Online (Sandbox Code Playgroud)sudo update-grub
我们所做的配置更改允许随时使用 grub-set-default 和 grub-reboot 命令。这些允许您分别永久更改默认引导项或仅在下次引导时更改默认引导项。
使用要引导的菜单项的编号运行
grub-set-default
或grub-reboot
(使用sudo
)(第一项为 0)。此命令会将默认值更改为第二项:Run Code Online (Sandbox Code Playgroud)sudo grub-set-default 1
Par*_*hic 10
我知道这是一个非常古老的问题,而且我没有足够的声誉来评论这个问题,所以对于任何仍然希望在没有 Grub-Customizer 的情况下这样做的人,因为它的臭名昭著:
此方法假设您有一个 Linux 和一个 Windows 安装的双引导。由于 order in/etc/grub.d
指定了它们的调用顺序,因此您可以简单地os-prober
先调用,然后添加其余条目。
cd /etc/grub.d
mv 30_os-prober 05_os-prober
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
这非常有效,并将 Windows 置于列表的首位。
我找不到来源,但如果我再次遇到它,我会提供它。