文章插图
在这篇文章中,你将学习在 Ubuntu 或任何其它 linux 发行版上更新 grub。你也将学习一个或两个关于更新这个 grub 过程如何工作的事情 。-- Abhishek Prakash(作者)在这篇文章中,你将学习在 Ubuntu 或任何其它 Linux 发行版上更新 grub。你也将学习一个或两个关于更新这个 grub 过程如何工作的事情 。
如何更新 grubUbuntu 和很多其它的 Linux 发行版提供一个易使用的称为 update-grub 命令行实用程序 。
为更新 grub ,你所要的全部工作就是使用 sudo 在终端中运行这个命令 。
sudo update-grub
你应该看到一个像这样的输出:[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-genericFound initrd image: /boot/initrd.img-5.0.0-37-genericFound linux image: /boot/vmlinuz-5.0.0-36-genericFound initrd image: /boot/initrd.img-5.0.0-36-genericFound linux image: /boot/vmlinuz-5.0.0-31-genericFound initrd image: /boot/initrd.img-5.0.0-31-genericFound Ubuntu 19.10 (19.10) on /dev/sda4Found MX 19 patito feo (19) on /dev/sdb1Adding boot menu entry for EFI firmware configurationdone
你可能看到一个类似的称为 update-grub2 的命令 。不需要在 update-grub 和 update-grub2 之间感到害怕或不知所措 。这两个命令执行相同的动作 。【如何在 Ubuntu 和其它 Linux 发行版上更新 grub】大约在 10 年前,当 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 目录中 。
依据它的 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 用户能够学到更多,而不仅仅是一个简单命令 。
推荐阅读
- Ubuntu16.04搭建VNC Server远程桌面服务器
- 倒春寒来袭 如何保护宝宝不生病
- 春季如何做好中医保健养生
- 春季如何给肌肤保湿?7大对策让你肌肤水嫩嫩!
- 春季吃肉不如吃豌豆蚕豆
- 如何选购棕榈床垫 棕榈床垫品牌
- 淘宝直通车怎么优化 淘宝如何进行关键词优化
- 婚姻出现问题如何解决 婚姻不如意
- 玩穿越火线 高手教你如何超级跳和鬼跳六级跳 穿越火线超级跳
- 如何把手机导航显示在汽车导航屏上?