Ubuntu 10.10 Server est installé sur une machine à carte unique dans un environnement semi-intégré; pas de clavier ou d'écran, juste un accès SSH à celui-ci.
Il est donc très frustrant de constater qu’il démarre de temps en temps et reste bloqué dans le menu GRUB, dans l’attente d’une frappe au clavier pour sélectionner la première option.
Comment configurer GRUB pour qu’il n’attende en aucun cas une frappe?
Mise à jour # 1: Il n'y a pas de menu.lst, puisqu'il s'agit de GRUB 2. Mais j'ai un fichier / etc / default / grub qui ressemble à ceci:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
Mise à jour # 2: Je l'ai compris. Sur les bottes qui succèdent à celles qui échouent, GRUB désactive son propre délai d’attente. Depuis que l'affichage du menu rend un démarrage infructueux, il s'agit d'une boucle incontournable. Ce comportement peut être désactivé en modifiant le fichier /etc/grub.d/00_header et en modifiant la fonction make_timeout:
make_timeout ()
{
echo "set timeout=0"
}
Maintenant, quittez et relancez le script de mise à jour de la configuration grub:
sudo update-grub2
Cela n’a aucun sens pour moi de penser que ce comportement serait le comportement par défaut d’Ubuntu Server, un produit destiné aux machines accédées par console.
/boot/grub/menu.lst
ressemble ton look?Réponses:
Pour Ubuntu 12.04 LTS, une option spécifique peut être configurée
/etc/default/grub
.Par exemple, si vous souhaitez un délai d'expiration de 2 secondes (évitant ainsi les blocages pour les redémarrages sans surveillance), ajoutez simplement la ligne suivante
/etc/default/grub
:N'oubliez pas de courir
update-grub
après ça ...la source
Voici les instructions pour Ubuntu 10.10, qui sont légèrement différentes des versions précédentes. Dans le fichier /etc/grub.d/00_header, commentez la vérification stupide pour un échec de démarrage précédent:
Puis mettez à jour:
Sachez que s'il y a un deuxième disque avec Linux connecté, grub2 le trouvera et vous demandera au démarrage lequel vous voulez. Supprimez tous les lecteurs supplémentaires avant d'exécuter "update-grub".
Voir aussi https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/797544
la source
Je suis tombé sur cet oubli de conception profondément désagréable avec Ubuntu Server 9.10. Votre solution m'a énormément aidé. Je voulais juste souligner que le correctif nécessaire pour 9.10 est différent car il n'y a pas de fonction "make_timeout ()" dans le même fichier.
Pour Ubuntu 9.10, allez à la fin du même fichier (00_header) et modifiez ce qui suit:
à
Comme avant, lancez:
la source
Configurez GRUB pour un accès série (et votre chargeur de démarrage pendant que vous y êtes) et conservez un port série ouvert, un câble null-modem et un convertisseur USB-RS232 pour ces instances. Je lance un serveur sans tête et un Guruplug et je ne l'aurais pas autrement.
la source
Je viens de définir un long délai d'attente pour recordfail:
Cela signifie que vous obtenez un délai d'expiration de 30 secondes lorsque vous démarrez, si le démarrage précédent a échoué. (Ce n'est pas différent de la façon dont cet autre OS le fait ...)
Cela pourrait (et IMHO devrait) être même un paramètre situé dans / etc / default / grub.
la source
Je ne sais vraiment pas pourquoi il s’agit de l’action par défaut, en particulier pour un serveur, mais c’est ce que j’ai implémenté dans les scripts de configuration de mon serveur.
la source
Cette approche est un peu plus propre - il suffit de modifier
/etc/default/grub
pour ajouter la ligne:... que l'on pourrait faire automatiquement avec quelque chose comme ceci dans le provisioning:
Cela devrait être viable si la variable GRUB_RECORDFAIL_TIMEOUT est mentionnée dans
/etc/grub.d/00_header
(comme je le vois dans 12.04 LTS) dans:Je suis un peu curieux de savoir si creuser dans la manière dont les échecs sont enregistrés pourrait donner une réponse encore meilleure.
la source