update-grub 和 update-grub2 有什么区别?

61 grub2

我正在对我的 grub 文件进行一些更改/etc/default/grub。在我看过的一些教程sudo update-grub和其他教程中sudo update-grub2。有什么不同?

Eli*_*gan 76

没有区别。

Ubuntu 9.10 及更高版本安装了 GRUB2,但sudo update-grub仍然作为标准命令盛行。

sudo update-grub并且sudo update-grub2是等价的,所以你运行哪一个并不重要。 /usr/sbin/update-grub2只是一个符号链接/usr/sbin/update-grub.

ek@Del:~$ ls -l `which update-grub update-grub2`
-rwxr-xr-x 1 root root 64 May 17 03:07 /usr/sbin/update-grub
lrwxrwxrwx 1 root root 11 May 17 03:22 /usr/sbin/update-grub2 -> update-grub
Run Code Online (Sandbox Code Playgroud)
  • 实际上,一般来说,有时一个命令可以是另一个命令的符号链接,但它们的行为却不同,因为可执行文件会检查它是如何调用的(即,通过什么名称)并相应地执行。

    这是不是这样update-grub2update-grub,虽然,这都是由像包提供grub-pc提供GRUB2。此外,/usr/sbin/update-grub实际上只是一个简短的 shell 脚本,它通过另一个命令完成大部分工作,我们可以查看其完整的 3 行源代码(在 Ubuntu 12.04 中),以查看用于调用它的名称未被检查:

    #!/bin/sh
    set -e
    exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
    
    Run Code Online (Sandbox Code Playgroud)

    "$@"扩展到名称update-grubor之后传递的所有命令行参数update-grub2,但不是该名称本身。这是脚本中唯一检查命令行语法的地方。