[Chinese translation] 在 Arch Linux 中修复 update-grub 命令未找到的错误
Tofloor
poster avatar
149*********12
deepin
2024-04-26 10:01
Author

文章来源:https://itsfoss.com/update-grub-command-not-found/

文档下载:https://www.123pan.com/s/GWdeVv-IGVHh.html提取码:0clq

在 Ubuntu 中,我使用 update-grub 命令更新 grub。最近,我为了寻求新的冒险,追求刺激,转到了 Arch Linux,在那里我遇到了一个错误,提示“sudo: update-grub: command not found”:

我记得在安装 Arch 时选择了 GRUB,而在启动系统时也出现了 GRUB 屏幕。这就是我看到上面的错误时感到困惑的原因。

如果你处于同样的情况,请让我,与你分享我的发现。

为什么会出现 'update-grub' 命令未找到的错误?

你看到错误是因为 update-grub 不是像 ls、cd 等标准命令。它甚至不是 grub 安装的标准命令之一。

在 Ubuntu 中,该命令只是一个别名,当你运行 update-grub 命令时,实际上运行的是以下命令:

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

grub-mkconfig 是管理 grub 的命令。但上述命令很难记住,因此创建了别名快捷方式 update-grub 。

📋

您可以运行上述 grub-mkconfig 命令,也可以创建一个自定义的 update-grub 命令来执行相同的操作。

如何修复找不到 update-grub 命令的错误

您可以付出一些努力,按照在 Ubuntu 和 Debian 上实现的方式创建一个自定义 update-grub 命令。

这是一个四步过程,我会在每一步帮助你。

步骤 1:创建一个新文件

创建 update-grub 命令的第一步是创建一个新文件。

打开你的终端并使用以下命令:

sudo nano /usr/sbin/update-grub

上述命令将创建一个名为 update-grub 的新文件在 /usr/sbin/ 目录中。

如果你注意到,这里使用了一个 nano 命令,它是一个文本编辑器,负责在执行命令后创建和打开文件。

打开一个看起来像这样的空文件:

create new file to solve update-grub command not found error

步骤 2:向文件写入新行

(秘密:你不必自己写,只需粘贴这些行 😉)

一旦您执行前面的命令,它将打开文件,在那里您必须添加行。

只需选择以下行,并使用 Ctrl + Shift + V 将它们粘贴到终端中:

#!/bin/sh 
set -e 
exec grub-mkconfig -o /boot/grub/grub.cfg "$@"

file contents to create a new file

现在,保存更改并退出 nano 编辑器,使用 Ctrl + O ,按 Enter 键,然后 Ctrl + X 。

步骤 3:更改文件的所有权

创建文件完成后,您必须将该文件的所有权分配给根用户。

为此,您需要以以下方式使用 chown 命令:

sudo chown root:root /usr/sbin/update-grub

change file ownership in linux

第四步:更改文件权限。

在最后一步,您必须像这样使用 chmod 命令更改读写权限:

sudo chmod 755 /usr/sbin/update-grub

change the read write permissions of the file

上述命令将仅允许文件所有者读取、写入和执行文件,而其他人仅能读取和执行。

完成后,请使用 update-grub 命令,它应该按您的预期工作:

sudo update-grub

solved: sudo: update-grub: command not found error

下一步呢?想定制 GRUB 怎么样?

嗯,有一种认识认为与GRUB相关的一切都很困难,但实际上并非如此,您可以根据自己的喜好定制GRUB引导加载程序,而无需进行任何复杂的步骤。

为了实现这个目的,您需要安装 grub customizer,一个可轻松定制 grub 的 GUI 实用工具。

Reply Favorite View the author
All Replies
jjcui8595
Moderator
2024-04-26 10:21
#1

感谢分享。创建脚本的确一劳永逸。如果不经常更新grub配置,直接grub-mkconfig也可以

Reply View the author
Tonny
deepin
2024-04-26 12:17
#2

没必要创建 /usr/sbin/update-grub ,在 .bashrc 里添加别名更简单。

alias update-grub='sudo grub-mkconfig -o /boot/grub/grub.cfg'

shamed

这个 update-grub 就像 prime-run ,把不好记的命令放到脚本里,运行脚本就相当于输入一长串命令。
图片.png

Reply View the author
LuijpCN
deepin
2024-04-26 16:57
#3

我就奇怪为啥安装 archlinux 的时候用的是 grub-mkconfig 而其他系统用的 update-grub,同样是 grub 不应该差距这么大,原来仅仅是alias

Reply View the author
库罗靡靡
deepin
2024-04-29 11:37
#4

难道直接运行 grub-mkconfig -o /boot/grub/grub.cfg 会有其他问题吗?

Reply View the author