Page 1 sur 1

Charger automatiquement un noyau ancien au demarrage

Posté : mar. 21 mai 2019 22:55
par david37
Salut a tous,

C'est plus un retour d’expérience qu'un vrai truc mais bon si ça peut aider.

Dans le cas ou vous devez rétrograder sur un noyau plus ancien parce que vous suspectez des soucis avec le noyau actuel (ou bien vous avez installe un noyau plus récent pour test mais vous souhaitez démarrer sur le noyau stable de façon automatique), vous avez sûrement remarque que le grub va charger le noyau le plus récent. Si vous voulez booter sur le noyau plus ancien, vous devez au démarrage, afficher le grub, aller dans les options avancées et sélectionner le noyau que vous souhaitez.

Une astuce pour démarrer automatiquement sur un noyau plus ancien consiste a éditer le fichier de configuration du grub (dans /etc/default/grub) et ajouter la ligne suivante:

Code : Tout sélectionner

GRUB_DISABLE_SUBMENU=y
Cette ligne va faire que toutes les entrées de la catégorie "option avancées" seront dorénavant affiches sur le premier menu.
Un petit:

Code : Tout sélectionner

sudo update-grub
et maintenant au démarrage, le grub affichera directement tout les noyaux disponibles.

Ensuite, il n'y a plus qu'a modifier le paramètre (toujours dans le fichier /etc/default/grub):

Code : Tout sélectionner

GRUB_DEFAULT=0
et remplacer le 0 par le numero de la ligne correspondant au noyau sur lequel vous voulez booter automatiquement (attention on compte a partir de 0 et non de 1). Par exemple, si vous avez le grub suivant:
Linux Mint 18.3 4.15
Linux Mint 18.3 4.13
Linux Mint 18.3 4.12
et que vous souhaitez démarrer sur le noyau 4.12, vous devez remplacer:

Code : Tout sélectionner

GRUB_DEFAULT=0
par

Code : Tout sélectionner

GRUB_DEFAULT=2
puisque le noyau 4.12 est la troisieme ligne du menu (et on compte en commençant par 0)
Un petit:

Code : Tout sélectionner

sudo update-grub
et au prochain redemarrage, le noyau 4.12 sera charge directement sans que vous ayez a vous balader dans le grub ;)

Voila, ca a marche chez moi (j'ai les noyaux 4.15 et 4.13 installes et je peux booter automatiquement sur le 4.13 sans avoir a supprimer le 4.15, on sait jamais, je pourrais en avoir besoin :D ... le syndrome de "la ceinture et des bretelles" :lol:)

Les infos concernant le paramétrage du grub sont ici: https://doc.ubuntu-fr.org/tutoriel/grub ... age_manuel
Et merci a alain :B pour les discussions qui ont mené a trouver cette petite astuce.

Re: Charger automatiquement un noyau ancien au demarrage

Posté : mar. 21 mai 2019 23:07
par débitant
merci de ce retour ;)

Re: Charger automatiquement un noyau ancien au demarrage

Posté : mer. 22 mai 2019 08:52
par capdeframint
Très intéressant, merci!

Re: Charger automatiquement un noyau ancien au demarrage

Posté : mer. 22 mai 2019 12:12
par Mia88
Merci pour l'astuce et le tuto qui va bien ;)

Re: Charger automatiquement un noyau ancien au demarrage

Posté : jeu. 23 mai 2019 04:05
par alain
david37 a écrit : mar. 21 mai 2019 22:55 Et merci a alain :B pour les discussions qui ont mené a trouver cette petite astuce.
de rien ;) :B
Et surtout merci à toi d'avoir testé et fait ce tuto...Aller j'applique :D

Re: Charger automatiquement un noyau ancien au demarrage

Posté : ven. 7 juin 2019 14:54
par escobarrr
Excellent tuto, tu devrais nous en faire souvent lol merci beaucoup :D

Re: Charger automatiquement un noyau ancien au demarrage

Posté : sam. 8 juin 2019 01:33
par david37
+1 Cyrille ;)

C'est une remarque tres pertinente, je me posais la question en voyant les MAJ du kernel proposees.
Mais je connaissais pas cette valeur absolue donnée par le "menuentry".

Je vais tester ça ce week end ;)

Re: Charger automatiquement un noyau ancien au demarrage

Posté : sam. 8 juin 2019 11:36
par serged
Autre astuce :
Pour démarrer automatique sur le dernier choix :
dans /etc/defaut/grub, changer la ligne :

Code : Tout sélectionner

GRUB_DEFAULT=0
par

Code : Tout sélectionner

GRUB_DEFAULT=saved
(Avec bien sûr un sudo update-grub après modif...)

Chez moi, sur un bi-boot avec W*, comme les maj de W* sont longues et demandent souvent un rédémarrage, cela permet de redémarrer sur le dernier OS.Mais ça peut servir pour el choix du noyau...

Re: Charger automatiquement un noyau ancien au demarrage

Posté : sam. 8 juin 2019 19:20
par david37
@serged, @cyrille, merci pour ces deux astuces que je connaissais pas non plus (on en apprend tous les jours :D)

J'ai testé de remplacer la valeur relative de GRUB_DEFAULT par la valeur absolue obtenue par :

Code : Tout sélectionner

grep menuentry /bootgub/grub.cfg
Dans mon cas, le retour de cette commande, m'a donné les choses suivantes:

Code : Tout sélectionner

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Linux Mint 19.1 Xfce, avec Linux 4.15.0-48-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-48-generic-advanced-d5aea594-ac85-460b-9931-c6a1e9973e53' {
menuentry 'Linux Mint 19.1 Xfce, with Linux 4.15.0-48-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-48-generic-recovery-d5aea594-ac85-460b-9931-c6a1e9973e53' {
menuentry 'Linux Mint 19.1 Xfce, avec Linux 4.15.0-20-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-20-generic-advanced-d5aea594-ac85-460b-9931-c6a1e9973e53' {
menuentry 'Linux Mint 19.1 Xfce, with Linux 4.15.0-20-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.15.0-20-generic-recovery-d5aea594-ac85-460b-9931-c6a1e9973e53' {
menuentry 'Linux Mint 19.1 Xfce, avec Linux 4.13.16-041316-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.13.16-041316-generic-advanced-d5aea594-ac85-460b-9931-c6a1e9973e53' {
menuentry 'Linux Mint 19.1 Xfce, with Linux 4.13.16-041316-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.13.16-041316-generic-recovery-d5aea594-ac85-460b-9931-c6a1e9973e53' {
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
Du coup j'ai remplacé ma valeur de GRUB_DEFAULT = 4 par GRUB_DEFAULT = 'Linux Mint 19.1 Xfce, avec Linux 4.13.16-041316-generic'
un petit

Code : Tout sélectionner

sudo update-grub
et ça a bien marché ;)

Et donc effectivement, comme le disais Cyrille, mettre la valeur absolue plutôt que la valeur relative permet de ne pas avoir a modifié le fichier etc/default/grub chaque fois que l'on installe un nouveau noyau.

Je garde les deux autres astuces en tête pour plus tard ;)