Comment masquer le menu grub dans Ubuntu 14.04

8

J'ai deux systèmes d'exploitation: Windows 8.1 et Ubuntu 14.04. Je veux masquer le menu grub. J'utilise grub 2.02 ~ beta2-9. J'ai essayé les combinaisons suivantes de /etc/default/grub:

  1. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0
    

    le menu grub est visible pendant 10 secondes (si le timeout est réglé pour une valeur supérieure à 0, il s'affiche correctement: GRUB_TIMEOUT=5- 5 secondes de retard)

  2. GRUB_HIDDEN_TIMEOUT=1  
    GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=0 
    

    menu grub est visible, j'ai aussi essayé GRUB_HIDDEN_TIMEOUT=falseet la mise à la fois GRUB_TIMEOUTet GRUB_HIDDEN_TIMEOUTà zéro et les valeurs non nulles

  3. \#GRUB_HIDDEN_TIMEOUT=1  
    \#GRUB_HIDDEN_TIMEOUT_QUIET=true  
    GRUB_TIMEOUT=1  
    GRUB_TIMEOUT_STYLE=hidden
    

    le menu grub est visible pendant 1 seconde, essayé également GRUB_TIMEOUT_STYLE=countdownavec le même résultat, s'il GRUB_TIMEOUTest réglé sur 0, délai de 10 secondes

Après chaque changement, je tape update-grubet redémarre l'ordinateur pour voir les résultats.

Selon la documentation GRUB trouvée de la info -f grub -n 'Simple configuration'deuxième façon, elle est obsolète. La bonne façon est la troisième - en utilisant GRUB_TIMEOUT_STYLE, mais malheureusement, cela ne fonctionne pas. C'est probablement une sorte de bogue.

ezpn
la source
Souvent, les recettes que vous trouvez en ligne ne fonctionnent pas correctement. Dans ce cas, consultez la documentation: gnu.org/software/grub/manual/html_node/…
Expiation limitée du
2
C'est ce que j'ai fait en premier lieu. Cela ne fonctionne pas comme spécifié dans la documentation.
ezpn

Réponses:

6

Normalement, si vous n'aviez qu'un seul système d'exploitation en cours d'exécution, l'option GRUB_TIMEOUT=0fonctionnerait. Si GRUB 2 os-proberidentifie des systèmes d'exploitation supplémentaires lors de l'exécution du /etc/grub.d/30_os-proberscript, la fonction d'expiration du menu masqué est désactivée par des instructions conditionnelles. Cela désactive également la possibilité d'utiliser la Shifttouche pour afficher le menu lors du démarrage. Les utilisateurs de plusieurs systèmes d'exploitation souhaitant masquer le menu peuvent trouver des modifications de script sur divers forums, ce qui leur permettra d'ajouter une fonction de temporisation masquée à la séquence de démarrage.

Cochez cette réponse si cela vous aide.

cioby23
la source
3
Sur votre lien, j'ai trouvé une solution rapide qui masque en permanence le menu grub: GRUB_HIDDEN_TIMEOUT=0.0 GRUB_TIMEOUT=0.0Bien qu'il serait préférable de montrer GRUB en appuyant sur MAJ (dans la version précédente d'ubuntu, je pouvais l'ajuster en manipulant GRUB_TIMEOUT et GRUB_HIDDEN_TIMEOUT), mais c'est toujours la meilleure solution cela ne nécessite pas d'écrire des scripts personnalisés.
ezpn
8

J'ai trouvé une solution très rapide, mais je n'ai pas encore examiné les conséquences.

Dans votre script os_prober pour update-grub, il y a quelques lignes pour contourner le délai d'attente que vous avez défini et pour forcer l'affichage d'un menu de démarrage si un autre système d'exploitation a été trouvé. Vous pouvez facilement désactiver cela en définissant la variable "quick_boot" sur 0.

  • Au /etc/grub.d/30_os_proberdébut du changement de fichier

    quick_boot="1" à quick_boot="0"

  • Ensuite, exécutez sudo update-grub

Motsah
la source
1

J'ai essayé d'éditer 30_os_prober, mais il s'est avéré que le nom a été changé pour 10_os_prober.

En dehors de cela, la solution proposée ci-dessus par Motsah fonctionne parfaitement pour moi.

J'ai maintenant:

GRUB_DEFAULT="0"   
GRUB_HIDDEN_TIMEOUT="1"   
GRUB_HIDDEN_TIMEOUT_QUIET="true"    
GRUB_TIMEOUT="0"

dans mon /etc/default/grub

Changer le délai d'attente caché à un paramètre plus élevé ne semble rien faire. Avoir 0 rend impossible l'accès au menu.

Copié d'en haut, en changeant en 10_os_prober pour faire ceci:

En /etc/grub.d/10_os_prober changement

quick_boot="1"

à

quick_boot="0"

au début du fichier.

Courir:

sudo update-grub
sligchop
la source