web-dev-qa-db-fra.com

Pourquoi existe-t-il une commande "update-grub" et "update-grub2"?

J'ai mis à jour ma machine Linux (dist-upgrade) et les en-têtes linux ont été mis à jour. Soudain, l’option Windows dans GRUB avait disparu (démarrage en parallèle). Cela a été résolu en publiant "update-grub", tout fonctionne bien maintenant.

Question: J'ai les commandes update-grub et update-grub2. Quelle est la différence? Si Grub2 est installé, pourquoi existe-t-il une commande update-grub que je présume être grub 1?

18
kelmat

Il y a de nombreuses années, GRUB1 était encore une chose. Lorsque GRUB2 est arrivé, il avait besoin de diverses commandes, mais comme GRUB1 était toujours le système principal utilisé, il devait exister un moyen de différencier les utilitaires, ce qui signifiait qu'une charge de ...2- style était créée.

Après la transition, les utilisateurs utilisaient toujours les deux commandes (pour les mêmes tâches). Par conséquent, pour empêcher les scripts des utilisateurs de casser, leurs scripts étaient simplement liés. Tu peux voir ça:

$ file $(which update-grub{,2})
/usr/sbin/update-grub:  POSIX Shell script, ASCII text executable
/usr/sbin/update-grub2: symbolic link to `update-grub'

Notez que les liens symboliques entre commandes ne signifient pas toujours que quelque chose a la même chose (une application peut lire quelle commande a été exécutée), mais si vous regardez la source de update-grub, vous pouvez voir que ce n'est pas le cas ici. Ils font exactement la même chose.

22
Oli