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

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

没有区别。

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

sudo update-grubsudo 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 
  • 实际上, 一般来说,有时一个命令可以是另一个命令的符号链接,但它们的行为却不同,因为可执行文件检查它是如何被调用的(即,以什么名称)并相应地表现。

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

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

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