为什么有“update-grub”和“update-grub2”命令?

kel*_*mat 19 boot grub2

我更新了我的 linux 机器(dist-upgrade)并且更新了 linux-headers。突然,GRUB 中的 Windows 选项消失了(并行启动)。这是通过发出“update-grub”解决的,现在一切正常。

问题:我有命令update-grubupdate-grub2. 有什么不同?如果Grub2已安装,为什么会有一个update-grub我认为是的命令grub 1

Oli*_*Oli 22

许多年前,GRUB1 仍然是一个东西。当 GRUB2 出现时,它需要各种命令,但由于 GRUB1 仍然是使用的主要系统,需要有一种方法来区分实用程序,这意味着...2创建了大量的样式命令。

转换后,人们仍在使用这两个命令(用于相同的工作),因此为了防止人们的脚本被破坏,它们只是链接在一起。你可以看到:

$ file $(which update-grub{,2})
/usr/sbin/update-grub:  POSIX shell script, ASCII text executable
/usr/sbin/update-grub2: symbolic link to `update-grub'
Run Code Online (Sandbox Code Playgroud)

请注意,将命令符号链接在一起并不总是意味着某些事情会做同样的事情(应用程序可以读取运行的命令),但是如果您查看 的源代码update-grub,您会发现情况并非如此。他们做的事情完全一样。

  • @Steven Bash 将其扩展为 `update-grub update-grub2`。将两个完整路径传递给 `file` 只是一个简写。 (3认同)