如何在 Ubuntu 和其它 Linux 发行版上更新 grub

在这篇文章中,你将学习在 Ubuntu 或任何其它 Linux 发行版上更新 grub 。你也将学习一个或两个关于更新这个 grub 过程如何工做的事情。html

如何更新 grub

Ubuntu 和不少其它的 Linux 发行版提供一个易使用的称为 update-grub 命令行实用程序。node

为更新 grub ,你所要的所有工做就是使用 sudo 在终端中运行这个命令。linux

sudo update-grub
复制代码

你应该看到一个像这样的输出:git

[email protected]:~$ 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-grubupdate-grub2 之间感到惧怕或不知所措。这两个命令执行相同的动做。github

大约在 10 年前,当 grub2 刚刚被引进时,update-grub2 命令也被引进。如今,update-grub2 只是一个连接到 update-grub 的符号,它们都更新 grub2 配置(由于 grub2 是默认的)。ubuntu

不能找到 update-grub 命令?这里是在这种状况下该作什么

它多是,你的 Linux 发行版可能没有可用的 update-grub 命令。bash

在这种状况下你该作什么?你如何在这样一个 Linux 发行版上更新 grub ?工具

在这里不须要惊慌。update-grub 命令只是一个入口,用于运行 grub-mkconfig -o /boot/grub/grub.cfg 来生成 grub2 配置文件。学习

这意味着你能够在任意 Linux 发行版上使用下面的命令更新 grub :atom

sudo grub-mkconfig -o /boot/grub/grub.cfg
复制代码

固然,记住 update-grub 命令比上面的命令容易不少,这是为何它在一开始被建立的缘由。

update-grub 是如何工做的?

当你安装一个 Linux 发行版时,它(一般)要求你安装 grub 启动引导程序

grub 的一部分安装在 MBR/ESP 分区上。grub 的剩余部分保留在 Linux 发行版的 /boot/grub 目录中。

依据它的 man 页面update-grub 经过查找 /boot 目录来工做。全部以 vmlinuz- 开头的文件将被做为内核来对待,而且它们将获得一个 grub 菜单项。它也将为与所找到内核版本相同的 ramdisk 镜像添加 initrd 行。

它也使用 os-prober 为其它操做系统查找全部磁盘分区。若是找到其它操做系统,它添加它们到 grub 菜单。

Representational image of Grub Menu

为何你须要更新 grub ?

在有不少场景下你须要更新 grub。

假设你修改 grub 配置文件(/etc/default/grub)以 更改默认启动顺序 或减小默认启动时间。除非你更新 grub ,不然你的修改将不会生效。

另外一种状况是,你在同一个电脑系统上安装多个 Linux 发行版。

例如,在个人 Intel 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 内核, 以及在不一样的分区上 Ubntu 19.10 和 MX Linux 。

若是你想让 MX Linux 控制 grub ,我可使用 grub-install 命令来在 MX Linux 上安装 grub,而后在 MX Linux 上的 grub 将开始控制 grub 启动屏幕。你已经明白这点,对吧?

使用一个像 Grub Customizer 的 GUI 工具是在 grub 中进行更改的一种简单的方法。

最后…

最初,我打算保持它为一篇短文做为一种快速提示。可是后来我想解释一些与之相关的东西,以便(相对)新的 Linux 用户可以学到更多,而不只仅是一个简单命令。

你喜欢它吗?你有一些问题或建议吗?请随意发表评论。


via: itsfoss.com/update-grub…

做者:Abhishek Prakash 选题:lujun9972 译者:robsean 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关文章
相关标签/搜索