沒有區別。
Ubuntu 9.10及更高版本已安裝GRUB2,但sudo update-grub
仍然以標准命令為准。
sudo update-grub
和sudo update-grub2
是等同的,所以運行哪一個並不重要。 /usr/sbin/update-grub2
僅僅是一個符號鏈接到/usr/sbin/update-grub
。
ls -l `which update-grub update-grub2` #output -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-grub2
和update-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 "$@"
"$@"
擴展到所有的名字后,通過命令行參數update-grub
或update-grub2
,但不是這個名字本身。而這是腳本中唯一一個檢查命令行語法的地方。
所以,一般情況直接運行sudo update-grub即可。
參考:
https://askubuntu.com/questions/167763/what-is-difference-between-update-grub-and-update-grub2
https://askubuntu.com/questions/591873/why-is-there-an-update-grub-and-a-update-grub2-command