Bonjour.
tuxmarc a écrit;
En y réfléchissant, je vois qu'une distri passe en n° 1 dans le grub quand il y a changement de noyau.
Tu ne penses pas qu'en désactivant 30_os-prober, dans les distris qui sont derrière, je ne risque pas de me retrouver bancal en cas de MAJ de noyau d'une de ces distris ?
Alors pour ce que tu dis.
J'ai bien surveillé ce qui se passe chez moi, car en utilisant le gestionnaire des mises à jour, j'ouvre "Détail" pour lire tout ce qu'il se passe, on voit le travail fait comme si on faisait les maj via les commandes en terminal...
Le fait que l'os qui démarre la machine par défaut change, pour celui dont on vient de faire les maj avec changement de noyau. C'est qu'il y a aussi dans les maj, un changement de version de Grub.
Çà entraîne une réinstallation de Grub dans l'Os où on fait les maj, et de ce fait, il devient l'Os par défaut au redémarrage de la machine. Mais çà ne change rien pour le script 30_os-prober. Il ne s'exécute pas. Et là, tout çà te fait une "farce"...
Au redémarrage de la machine tu vois un menu Grub, proposant l'Os qui a subit les maj système, le recovery et memory test.
Et oui! Rien d'autre, les autres Os de la machine n'y figurent pas puisque le script 30_os-prober ne s'exécute pas...
C'est là que une session live avec Boot-Repair est utile pour réinstaller Grub dans l'Os par défaut de la machine, celui que tu as définis depuis le début de tes installations.
Remarque;
On ne peut pas faire une réinstallation de Grub sur un autre Os, si on lance Boot-Repair installé dans cet Os. Il ne sait réinstaller Grub que dans l'os d'où il est lancé.
Exemple.
5 Os Linux dans ta config. A, B, C, D, E .
L'Os par défaut de ta machine est l'Os C .
La machine démarre sur C, le script 30_os-prober de cet Os est actif. Donc au menu Grub tous les Os de la config sont affichés dans le menu Grub. La rubrique 30_os-prober du fichier grub.cfg de l'Os C, est pleine des Os de la config. On peut donc démarrer tous les Os de la machine à partir de ce menu Grub.
Tous les Os sauf C, ont le script 30_os-prober désactivé. Donc dans leur menu Grub, et fichier grub.cfg, il n'y a
que l'entrée pour l'Os considéré. Rien dans la rubrique 30-os-prober de chaque Os (A, B, D, E) .
On va faire les maj Système de l'Os A.
Il n'y a que un changement de version de noyau dans les maj système. Donc çà ne génère qu'une mise à jour de grub de l'Os A.
Redémarrage de la machine. Elle démarre encore sur l'Os C. Le menu Grub de C affiche tous les Os.
Mais A ne va pas démarrer sur la dernière version du noyau, tant que la mise à jour de Grub de l'Os C, ne sera pas faite.
Donc;
Soit on démarre sur C, et on fait la maj de Grub de C , pour que la dernière version du noyau installée dans A soit prise en compte dans la rubrique 30_os-prober du fichier grub.cfg de C. Au redémarrage sur C, à partir du menu Grub de C, on va pouvoir démarrer l'Os A sur la dernière version du noyau installée dans A, par les maj système.
Soit, depuis le menu Grub de C, on sélectionne l'entrée pour A.
On édite la ligne de A, avec la touche (E). On active le "Verr num" si il n'y est pas, on change à la main le n° de la version du noyau (deux ligne à modifier) . Puis avec la touche fonction F10, on démarre A sur la dernière version du noyau installée, (on vérifie) .
Il ne faudra pas oublier de faire la mise à jour de grub de l'Os C par la suite, sinon, on ne démarrera pas A sur la dernière version du noyau installé dans A, depuis le menu Grub de C....
Alors, on va faire la mise à jour Système de l'Os B.
B est démarré depuis le menu grub de C.
Dans les maj système il y a un nouvelle version du noyau +
une nouvelle version de Grub.
Pendant les maj, si tu regardes dans "Détail" ce qu'il se passe.
On voit l'installation de la nouvelle version du noyau, avec une mise à jour de grub + la réinstallation de Grub dans l'OS B.(installation de la nouvelle version + maj de Grub)
Au redémarrage de la machine, elle redémarre sur B. !!!. Sur la dernière version du noyau installé.
Et ce n'est pas tout !!!.
Comme le script 30_os-prober est désactivé dans l'Os B. Sont menu Grub est bien "maigrichon".
Il propose;
Une entrée pour l'Os B
Une entrée recovery et une entrée memory test.
Rien d'autre!!!.
C'est là que la session live Boot-Repair (ou un chroot si on sait faire) va te permettre de réinstaller Grub dans l'Os par défaut de la machine C.
Au redémarrage de la machine, le menu Grub de l'Os C, va s'afficher.
Tous les Os à jour (dernière version du noyau et de grub) vont pouvoir à nouveau redémarrer depuis ce menu Grub.
Voila à quoi je m'amuse au moins une foi par semaine avec ma config multi Os multi Disque.
@+. Babdu89 .