J'utilise GRUB 2.00 sur un système Gentoo Linux.
Je compile mes propres noyaux manuellement, puis je les installe /boot
avec make install
. J'ai les noyaux suivants en /boot
ce moment:
# ls -1 /boot/vmlinuz*
/boot/vmlinuz-3.7.4-gentoo-5
/boot/vmlinuz-3.7.4-gentoo-first
/boot/vmlinuz-3.7.4-gentoo-fourth
/boot/vmlinuz-3.7.4-gentoo-third
L'exécution des grub2-mkconfig
résultats dans la sortie suivante:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.7.4-gentoo-third
Found linux image: /boot/vmlinuz-3.7.4-gentoo-fourth
Found linux image: /boot/vmlinuz-3.7.4-gentoo-first
Found linux image: /boot/vmlinuz-3.7.4-gentoo-5
done
Si je lis maintenant le /boot/grub2/grub.cfg
fichier résultant , je remarque que les entrées suivantes ont été créées:
- Une entrée par défaut principale qui commence
vmlinuz-3.7.4-gentoo-third
- Un sous-menu avec toutes les autres entrées (y compris celles de récupération), dans le même ordre que la
grub2-mkconfig
commande
Le problème est qu'au démarrage j'aimerais charger par défaut la cinquième révision de mon kernel ( vmlinuz-3.7.4-gentoo-5
), pas la troisième ( vmlinuz-3.7.4-gentoo-third
). Je préfère également ne pas accéder au sous-menu pour choisir le bon noyau à charger.
Comment puis-je changer ce comportement? Comment puis-je dire à GRUB que je veux exécuter la cinquième révision de mon noyau par défaut et non la troisième révision plus ancienne? En général, comment puis-je changer la ligne d'entrée par défaut pour qu'elle corresponde au noyau que je veux et pas à celui apparemment aléatoire choisi par GRUB?
J'ai également essayé de mettre les lignes suivantes /etc/default/grub
:
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
Cela ne règle pas le problème comme je le souhaite. Mais au moins GRUB semble se souvenir du dernier noyau à partir duquel j'ai démarré et le sélectionne automatiquement dans le sous-menu. C'est juste que je n'aime pas accéder au sous-menu.
-o /boot/grub2/grub.cfg
comme fichier de sortie. Le répertoire/boot/grub/
existe-t-il toujours?Réponses:
Pour sélectionner une entrée de menu dans le sous-menu "Options avancées", réglez GRUB_DEFAULT = "1> 3". Vous pouvez maintenant exécuter grub2-mkconfig pour générer le fichier de configuration grub. Au prochain redémarrage, vmlinuz-3.7.4-gentoo-5 devrait démarrer.
Remarque : Cela ne changera pas l'entrée par défaut dans le menu grub, c'est-à-dire que l'entrée par défaut indiquera toujours la même entrée que vous avez en ce moment. Mais l'image qui sera démarrée par défaut sera la 4ème image sous les "Options avancées". Pour définir vmlinuz-3.7.4-gentoo-5 comme entrée par défaut dans le menu grub, l'ordre des images doit être tel que vmlinuz-3.7.4-gentoo-5 doit être la première image lorsque vous exécutez grub2-mkconfig .
la source
Si vous avez un sous - menu dans votre grub.cfg, vous devez utiliser deux chiffres comme celui-ci:
Le premier est l'index de menu et le second est l'index de sous-menu.
Par exemple, pour démarrer la dernière entrée de la configuration comme ceci:
Tu devrais utiliser:
et redémarrez.
la source
vous pouvez aussi bien utiliser
GRUB_DEFAULT=saved
. Dans ce cas, vous utiliseriezou si c'est uniquement pour le prochain démarrage:
la source
Essayer
Cela déplace tous vos noyaux inutilisés vers un répertoire de sauvegarde, maintenant:
Cela ne fait qu'ajouter du choix
r5
à votre menu. Après cela, lisez ce ce lien et Reame alors tous les noyaux dans le répertoire de sauvegarde autre chose que vmlinuz si vous insistez pour les garderla source
Avec centos7 (ou RHEL7) et grub2:
grub utilise l'entrée 'saved_entry' de grubenv par défaut pour démarrer, sniplet depuis /boot/grub2/grub.cfg:
pour vérifier ce qui est le 'saved_entry' est maintenant ma construction:
pour le changer par exemple pour ma version de débogage:
la source
Ce que j'ai fait pour obtenir le résultat souhaité était:
définissez le
GRUB_DEFAULT=saved
comme indiqué dans l'grub-set-default
aidegrub-set-default Menu entry not specified. Usage: grub-set-default [OPTION] MENU_ENTRY Set the default boot menu entry for GRUB. This requires setting GRUB_DEFAULT=saved in /etc/default/grub. -h, --help print this message and exit -V, --version print the version information and exit --boot-directory=DIR expect GRUB images under the directory DIR/grub instead of the /boot/grub directory MENU_ENTRY is a number, a menu item title or a menu item identifier.
Définissez la valeur par défaut
grub-set-default "1>2"
Il crée un nouveau fichier dans / boot / grub appelé grubenv avec les informations requises.
Après cela, je recrée le fichier de configuration
grub-mkconfig > /boot/grub/grub.cfg
Et j'ai vu que la configuration a été modifiée pour utiliser l'état enregistré:
if [ "${next_entry}" ] ; then set default="${next_entry}" set next_entry= save_env next_entry set boot_once=true else set default="${saved_entry}" fi
la source
Vous pouvez définir le choix par défaut par une valeur numérique. Si vous définissez
dans
/etc/default/grub
Vous définissez la valeur par défaut sur l'entrée gentoo-5.
GRUB_DEFAULT
est un décalage nul, donc 3 sélectionnera la quatrième entrée comme vous le souhaitez.la source
GRUB_DEFAULT=3
comme tu l'as dit, puis je relancegrub2-mkconfig
. Mais au démarrage, l'entrée par défaut est toujoursvmlinuz-3.7.4-gentoo-third
.GRUB_SAVEDEFAULT=true
Cela ne devrait pas avoir d'importance, mais ce n'est pas nécessaire avec le numérique./etc/default/grub
dossier.Je soupçonne que
grub2-mkconfig
les noyaux sont triés dans l'ordre inverse, en supposant qu'ils contiennent principalement des numéros de version augmentant de manière monotone. Alors commencez à choisir vos balises pour correspondre à cette convention.la source
mv ces fichiers de version nouveaux / non utilisés dans / boot dans un répertoire de sauvegarde par exemple / boot / back initrd.img-3.13.0-xx-generic
vmlinuz-3.13.0-xx-generic config-3.13.0-xx-generic System.map-3.13.0-xx-generic
redémarrez le système en mode de sauvetage, puis choisissez grub dans la boîte de dialogue de sauvetage, tout ira bien.
c'est la méthode la plus appropriée, je pense. J'utilise ubuntu 14.04.
la source
à Ubuntu:
grub-pc vous permettra de choisir le menu.
voir: /ubuntu/384388/how-to-select-option-in-configuration-grub-pc-menu
la source