如何在 Ubuntu 和其他 Linux 发行版上更新 Grub如何在 Ubuntu 和其他 Linux 发行版上更新 Grub如何在 Ubuntu 和其他 Linux 发行版上更新 Grub如何在 Ubuntu 和其他 Linux 发行版上更新 Grub
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 和其他 Linux 发行版上更新 Grub

发表 admin at 2025年2月28日
类别
  • 未分类
标签

通过这个快速简单的教程学习如何更新 Ubuntu 和其他 Linux 发行版上的 grub。

本教程教您在 Ubuntu 或任何其他 Linux 发行版上更新 grub。您还将了解有关 grub 更新过程如何工作的一两件事。

如何更新 grub

Ubuntu 和许多其他 Linux 发行版提供了一个方便的命令行实用程序,称为 update-grub。

要更新 grub,您只需在终端中使用 sudo 运行此命令即可。

sudo update-grub

您应该看到如下输出:

abhishek@nuc:~$ sudo update-grub
[sudo] password for abhishek: 
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.0.0-37-generic
Found initrd image: /boot/initrd.img-5.0.0-37-generic
Found linux image: /boot/vmlinuz-5.0.0-36-generic
Found initrd image: /boot/initrd.img-5.0.0-36-generic
Found linux image: /boot/vmlinuz-5.0.0-31-generic
Found initrd image: /boot/initrd.img-5.0.0-31-generic
Found Ubuntu 19.10 (19.10) on /dev/sda4
Found MX 19 patito feo (19) on /dev/sdb1
Adding boot menu entry for EFI firmware configuration
done

您可能会看到一个名为 update-grub2 的类似命令。无需对 update-grub 和 update-grub2 感到惊慌或混淆。这两个命令执行相同的操作。

大约十年前,当 grub2 刚刚引入时,update-grub2 命令也被引入。今天,update-grub2 只是 update-grub 的符号链接,并且都更新 grub2 配置(因为 grub2 是默认值)。

找不到 update-grub 命令?在这种情况下该怎么做

您的 Linux 发行版可能没有可用的 update-grub 命令。

在这种情况下你会怎么做?如何在这样的 Linux 发行版上更新 grub?

无需惊慌。 update-grub 命令只是一个运行“grub-mkconfig -o /boot/grub/grub.cfg”以生成 grub2 配置文件的存根。

这意味着您可以在任何 Linux 发行版上使用以下命令更新 grub:

sudo grub-mkconfig -o /boot/grub/grub.cfg

当然,记住 update-grub 命令比上面的命令要容易得多,这就是首先创建它的原因。

update-grub 如何工作?

当您安装 Linux 发行版时,它(通常)会要求您安装 grub 引导加载程序。

grub 的一部分安装在 MBR/ESP 分区上。 grub 的其余部分位于 Linux 发行版的 /boot/grub 目录中。

根据其手册页,update-grub 通过查看 /boot 目录来工作。所有以 vmlinuz- 开头的文件都将被视为内核,并且它们将获得一个 grub 菜单项。它还将为找到的与内核版本相同的 ramdisk 映像添加 initrd 行。

它还使用 os-prober 检查其他操作系统的所有磁盘分区。如果它找到其他操作系统,会将它们添加到 grub 菜单中。

为什么需要更新 grub?

可能有多种情况需要更新 grub。

假设您更改了 grub 配置文件 (/etc/default/grub) 以更改默认引导顺序或减少默认引导时间。除非更新 grub,否则您的更改不会生效。

另一种情况是当您在同一系统上安装了多个 Linux 发行版时。

例如,在我的英特尔 NUC 上,我有两个磁盘。第一个磁盘有 Ubuntu 19.10,然后我在上面安装了 Ubuntu 18.04。第二个操作系统(Ubuntu 18.04)也安装了自己的 grub,现在 grub 屏幕由 Ubuntu 18.04 grub 控制。

在第二张盘上,我安装了 MX Linux,但这次没有安装 grub。我希望现有的 grub(由 Ubuntu 18.04 控制)来处理所有操作系统条目。

现在,在这种情况下,Ubuntu 18.04 上的 grub 需要更新,以便它可以看到 MX Linux。

正如您在上图中看到的,当我更新 grub 时,它发现 18.04 上安装了各种 Linux 内核,以及不同分区上的 Ubuntu 19.10 和 MX Linux。

如果我希望 MX Linux 控制 grub,我可以使用 grub-install 命令在 MX Linux 上安装 grub,然后 MX Linux 上的 grub 将开始控制 grub 屏幕。你明白要点了,对吧?

使用 Grub 定制器等 GUI 工具是在 grub 中进行更改的更简单的方法。

最后……

最初,我打算将其保留为一篇简短的文章,作为快速提示。但后来我想到解释一些与之相关的事情,以便(相对)新的 Linux 用户可以学到的不仅仅是简单的命令。

你喜欢它吗?您有什么问题或建议吗?请随时发表评论。

©2015-2025 Norria support@norria.com