J'ai installé un noyau principal à des fins de test. Je voudrais configurer grub pour démarrer à partir de l’ancien noyau par défaut.
Je sais que je peux définir le paramètre GRUB_DEFAULT=0
pour la première page de grub, mais comment puis-je le configurer pour qu'il démarre par défaut à partir d'un noyau de la deuxième page (page Advanced)?
Je préférerais le faire sans installer d’autres logiciels (ex. Grub-customizer).
Questions connexes:
Comment définir Windows pour démarrer par défaut dans le chargeur de démarrage?
Comment changer l'ordre de démarrage de grub?
Commencez par créer une copie de sauvegarde de /etc/default/grub
. Si quelque chose ne va pas, vous pouvez facilement revenir à la copie en bon état.
Sudo cp /etc/default/grub /etc/default/grub.bak
Editez ensuite le fichier à l’aide de l’éditeur de texte de votre choix (par exemple, gedit, etc.).
Sudo -H gedit /etc/default/grub
Recherchez la ligne qui contient GRUB_DEFAULT
. C'est ce que vous voudrez éditer pour définir la valeur par défaut. Vous devez connaître le nom complet du noyau de votre choix - par exemple. Ubuntu, with Linux 3.13.0-53-generic
- avec le nom complet du "menu avancé" - par exemple. Advanced options for Ubuntu
.
Vous combinez ensuite ces deux chaînes avec >
et définissez-les GRUB_DEFAULT
comme suit: GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 3.13.0-53-generic"
(avec guillemets).
Enregistrez-le, puis construisez le menu grub mis à jour.
Sudo update-grub
Voir aussi: GNU GRUB Manual 2.02
Remarque: Il existe une méthode utilisant des nombres pour accéder aux noyaux et aux menus, mais cela n’est pas recommandé, car elle n’est pas fiable lors des mises à jour du noyau.
La meilleure solution pour moi était de définir (dans /etc/default/grub
):
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
Avec ces paramètres, la dernière valeur sélectionnée est conservée pour le prochain démarrage. Si vous avez un nouveau noyau, vous n'avez pas besoin de modifier votre configuration.
N'oubliez pas de réexécuter Sudo update-grub
La solution consiste à lire: info grub-mkconfig
Maintenant que le menu par défaut Advanced
est Ubuntu, vous devez le sélectionner avant le noyau que vous souhaitez utiliser avec le caractère >
.
Set par exemple:
GRUB_DEFAULT="1>7"
dans /etc/default/grub
et relancez Sudo update-grub
.
Il est important de noter que pour le GRUB, la numérotation des entrées de menu commence par 0
. Par conséquent, le 1
ci-dessus pointe vers le menu Advanced
. Par précaution, vous souhaiterez peut-être définir initialement GRUB_TIMEOUT=5
. Certains risquent de ne pas pouvoir accéder à GRUB en appuyant sur une touche au moment du démarrage. Ceci est un filet de sécurité au cas où vous pointez accidentellement quelque chose comme Memory test
à la place. Il est également nécessaire d'inclure les nombres ci-dessus entre guillemets. Cela ne fonctionnera pas autrement.
J'ai testé sur 16.04 LTS.
Pour pouvoir définir l'option de démarrage à utiliser par défaut, vous devez savoir ce qu'il y a ... so:
Pour afficher les entrées de menu sans démarrer réellement, essayez quelque chose comme:
$ lsb_release -s -rdc Ubuntu 16.04.4 LTS 16.04 xenial $ update-grub --version grub-mkconfig (GRUB) 2.02 ~ beta2-36ubuntu3.17 $ grep -Ei 'sous-menu | menuentry' /boot/grub/grub.cfg | sed -re "s/(.?) '([^'] +) '. */\ 1\2 /" menuentry Ubuntu sous-menu Options avancées pour Ubuntu menuentry Ubuntu, avec Linux 4.4.0-34-generic menuentry Ubuntu, avec Linux 4.4.0-34-generic (upstart) menuentry Ubuntu, avec Linux 4.4.0-34-generic ( mode de récupération) menuentry Configuration du système