Comment choisir le noyau que GRUB2 devrait charger par défaut? J'ai récemment installé le noyau Linux temps réel et maintenant, il se charge par défaut. J'aimerais charger le standard par défaut.
Jusqu'ici, j'ai seulement réussi à choisir le système d'exploitation par défaut .. et pour une raison quelconque, /boot/grub.cfg
je suppose déjà que je veux charger le noyau rt-kernel et le placer dans l'entrée de menu générique de Linux (dans mon cas, Arch Linux).
grub.cfg
correspondent uniquement aux systèmes d’exploitation et non aux noyaux.Réponses:
Je pense que la plupart des distributions ont déplacé des noyaux supplémentaires dans le sous-menu des options avancées à ce stade, comme TomTom a constaté que c'était le cas avec son Arch.
Je ne voulais pas modifier la structure de mon menu de niveau supérieur afin de sélectionner un noyau précédent par défaut. J'ai trouvé la réponse ici:
http://www.humans-enabled.com/2014/08/how-to-set-default-grub-kernel-boot.html
Résumer:
1) Trouvez l’
$menuentry_id
option _ pour le sous-menu:2) Recherchez l’
$menuentry_id_option
entrée de menu du noyau que vous souhaitez utiliser:3) Mettez votre commentaire par défaut en commentaire
/etc/default/grub
et remplacez-le par le sous-menu$menuentry_id_option
de la première étape et par le noyau sélectionné$menuentry_id_option
de la deuxième étape séparés par>
.Dans mon cas, le modifié
GRUB_DEFAULT
est:4) Mettez à jour grub pour effectuer les modifications. Pour Debian, cela se fait comme suit:
Terminé. Maintenant, lorsque vous démarrez, le menu avancé devrait avoir un astérisque et vous devriez démarrer dans le noyau sélectionné. Vous pouvez le confirmer avec uname.
Le changement du noyau le plus récent est aussi simple que de commenter la nouvelle ligne et de supprimer les commentaires
#GRUB_DEFAULT=0
, puis de les réexécuterupdate-grub
.la source
Après avoir lutté pendant 2 heures, j'ai trouvé un moyen beaucoup plus facile d'y parvenir. Je viens de RTFM. ;)
Ajouter deux lignes à / etc / default / grub
Faites le
sudo update-grub
, redémarrez, entrez dans votre menu de base et sélectionnez le menu ou l'élément de sous-menu dont vous avez besoin. Le choix sera enregistré et la prochaine fois que votre ordinateur démarrera automatiquement.la source
Comme indiqué dans les commentaires, vous pouvez définir le noyau par défaut à démarrer en utilisant la
grub-set-default X
commande, où X est le numéro du noyau que vous souhaitez démarrer. Dans certaines distributions, vous pouvez également définir ce nombre en modifiant le/etc/default/grub
fichier et les paramètresGRUB_DEFAULT=X
, puis en les exécutantupdate-grub
.Le nombre est l'index d'un tableau de paramètres noyau / noyau affiché dans le menu GRUB lors du démarrage, 0 étant la première entrée (la plus haute). Vous pouvez généralement trouver le bon numéro en cherchant des
menuentry
lignes/boot/grub/grub.cfg
, comme ceci:Vous verrez chaque noyau répertorié avec le nom indiqué dans le menu de démarrage de GRUB. Le premier est 0, le second est 1, et ainsi de suite.
la source
/boot/grub2/grub.cfg
.grub-set-default 9
et puisgrub-update
et redémarré. Je laisse grub démarrer avec le noyau par défaut et il démarre toujours avec 4.4.0-64-generic . J'ai aussi essayé l'édition/etc/default/grub
et régléGRUB_DEFAULT=9
et courugrub-update
. Au redémarrage, rien ne change, le système continue à démarrer avec 4.4.0-64-generic . Peut-être que j'ai raté quelque chose, quelqu'un peut-il m'aider?Faire simplement la
grep 'menuentry' /boot/grub/grub.cfg
liste des entrées supplémentaires qui ne sont pas liées à la version actuelle du noyau ou du système d'exploitation. Par exemple, il répertorieJe voudrais proposer une petite amélioration à la méthode de recherche de ce fichier: utiliser
awk
Avec la commande ci-dessous et sa sortie, vous pouvez voir que le
awk
code correspond à la version actuelle du système d'exploitation et vous donner le numéro que vous pouvez ensuite utiliser dans un/etc/default/grub
fichier.En plus d’éditer le
/etc/default/grub
fichier à la main, je suggère d’utilisersed
. Dans la commande ci-dessous, remplacez X par le nombre approprié obtenu avec la commande awk ci-dessus:sudo sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT=X/g' /etc/default/grub; sudo update-grub
la source
Je suppose que jkt123 fonctionnera pour la plupart des distributions. Cependant, pour Arch Linux, cela ne fonctionnait pas, du moins pas avec les paquetages disponibles.
Les index que vous pouvez définir avec
grub-set-default
correspondent uniquement aux entrées du menu principal. Les options du noyau sont cependant dans un sous-menu. Donc, soit vous déplacez l'entrée du noyau du sous-menu dans le menu principal, soit vous placez l'entrée au-dessus de la liste des sous-menus et sélectionnez le sous-menu.Mon menu Grub
Pour pouvoir démarrer le noyau 2, vous devez soit l'échanger avec le noyau 1, soit le placer en dehors du sous-menu au même niveau que Arch Linux ou Windows. Et définissez ensuite le nombre par défaut sur l'un des index du menu principal. Par exemple, dans le menu ci-dessus, "0" démarre "Arch Linux" et "1" démarre le noyau 1.
Pour changer la hiérarchie et l'échange, ouvrez
/boot/grub/grub.cfg
et déplacez l'entrée que vous souhaitez déplacer. Une entrée pourrait ressembler à ceciEnsuite, vous devez appliquer vos modifications. Dans mon cas avec
grub-mkconfig
. Mais cela peut varier d’un système à l’autre.la source
Aussi récemment que CentOS-6.6, grub.conf ressemblait, vous pouvez le modifier manuellement pour changer la sélection par défaut:
la source
Debian Stretch:
Plutôt que de jouer avec les fichiers de configuration, créez un dossier
/noot
(appelez-le comme vous voulez), laissez le noyau souhaité, ainsi que les fichiers de configuration et de système correspondants,/boot
et déplacez le reste dans ce nouveau dossier.Courez
update-grub
.Vérifiez à nouveau
/boot
que la version du noyau et les fichiers système et de configuration correspondants sont toujours présents (au cas où vous auriez copié quelque chose que vous n'auriez pas dû avoir) et redémarrez.la source