GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Définir le noyau par défaut dans Grub ?

Comment puis-je choisir quel noyau GRUB2 doit charger par défaut ? J'ai récemment installé un noyau Linux en temps réel et maintenant il se charge par défaut. Je voudrais charger le standard par défaut.

Jusqu'à présent, je n'ai réussi qu'à choisir le système d'exploitation par défaut .. et pour une raison quelconque, le /boot/grub.cfg suppose déjà que je veux charger le rt-kernel et le mettre dans l'entrée de menu Linux générique (dans mon cas Arch Linux).

Réponse acceptée :

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 découvert que c'était le cas avec son
Arch.

Je ne voulais pas modifier ma structure de 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

Pour résumer :

1) Trouvez le $menuentry_id_option pour le sous-menu :

$ grep submenu /boot/grub/grub.cfg
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

2) Trouvez le $menuentry_id_option pour l'entrée de menu du noyau que vous souhaitez utiliser :

$ grep gnulinux /boot/grub/grub.cfg
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

3) Commentez votre grub par défaut actuel dans /etc/default/grub et remplacez-le par le $menuentry_id_option du sous-menu de la première étape, et le $menuentry_id_option du noyau sélectionné de l'étape deux séparés par > .

Dans mon cas, le GRUB_DEFAULT modifié est :

#GRUB_DEFAULT=0

GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

4) Mettez à jour grub pour apporter les modifications. Pour Debian, cela se fait comme suit :

$ sudo update-grub

Fait. Maintenant, lorsque vous démarrez, le menu avancé doit avoir un astérisque et vous devez démarrer dans le noyau sélectionné. Vous pouvez le confirmer avec uname .

$ uname -a
Linux NAME 4.18.0-0.bpo.1-amd64 #1 SMP Debian 4.18.0-0 (2018-09-13) x86_64 GNU/Linux

Revenir au noyau le plus récent est aussi simple que de commenter la nouvelle ligne et de décommenter #GRUB_DEFAULT=0 :

GRUB_DEFAULT=0

#GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

puis relancez update-grub .


Linux
  1. Comprendre systemd au démarrage sous Linux

  2. Linux – Les différents noyaux Linux/unix sont-ils interchangeables ?

  3. Service du système d'exploitation Linux "lm_sensors"

  4. Comment configurer deux routes par défaut sous Linux

  5. Définir le noyau par défaut dans GRUB

Configurez un serveur VPN sur votre PC Linux

Commande Dmesg sous Linux

Commande Sysctl sous Linux

Linux est-il un système d'exploitation ou un noyau ?

Le noyau Linux contre. Mac noyau

Linux - Définir la taille du terminal et la position de l'écran par défaut ?