Comment puis-je forcer Ubuntu à démarrer sur un menu de démarrage bloqué?


31

J'ai Ubuntu Server 11.04, mais il est sans tête (pas de moniteur). La seule façon dont je veux pouvoir y accéder est à distance via SSH. Mais, parfois, disons après une coupure de courant, lorsque le serveur redémarre, il restera bloqué dans le menu de démarrage de Grub, et il ne comptera pas. Il restera juste là à attendre que je choisisse la première entrée de démarrage. Cela signifie que je dois y aller et brancher un moniteur et un clavier.

Mais je ne peux pas faire ça à distance. Comment puis-je le forcer à continuer de démarrer pour démarrer l'entrée 1 (par défaut) indépendamment de la perte de puissance ou autre?

Réponses:


10

La réponse à celle-ci se trouve dans le fichier grub /etc/grub.d/00_header

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=${2}
fi
EOF
}

La définition de la valeur du délai d'attente à -1 arrête le décompte. Remplacez la valeur par une valeur> 0, c.-à-d.set timeout=10

cette section du fichier ressemblerait

make_timeout ()
{
    cat << EOF
if [ "\${recordfail}" = 1 ]; then
  set timeout=10
else
  set timeout=${2}
fi
EOF
}

Ensuite, exécutez

sudo update-grub2

Merci. Est-ce pour la section "make_timeout" dans le fichier car je peux voir un certain nombre de lignes "recordfail" lors de la recherche. Si tel est le cas, laissez-vous la deuxième option "définir le délai d'expiration" telle qu'elle est (celle qui dit "autre")?
nLinked

correct - je mettrai à jour la réponse pour clarifier
fossfreedom

Si j'exécute sudo shutdown maintenant -r, mais que j'effectue un ping sur le système et que je constate qu'il n'est pas revenu en ligne, lorsque je l'éteins et le rallume manuellement, y a-t-il un endroit pour vérifier pourquoi il s'est bloqué?
nLinked

est-il resté coincé dans le ver? ou vient-il de s'arrêter? Faites un "arrêt" à un homme, il y a quelques fichiers dans lesquels des trucs sont écrits.
fossfreedom

3
Je pense que cette solution n'est pas permanente car elle sera écrasée si les paquets grub reçoivent des mises à jour. L '"autre solution" pour utiliser "GRUB_RECORDFAIL_TIMEOUT" est plus appropriée. J'ai donc respectueusement voté contre cette solution et voté pour l'autre.
rik-shaw

36

Depuis Ubuntu 12.04, une solution plus simple, mais néanmoins non documentée, consiste /etc/default/grubà remplacer le délai d' expiration d' enregistrement :

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Le fait qu'une telle option soit complètement non documentée est tout simplement dommage.

MODIFIER

En fait, le support de a GRUB_RECORDFAIL_TIMEOUTété ajouté au milieu du cycle 12.04, à partir de la version 1.99-21ubuntu3.3:

  grub2 (1.99-21ubuntu3.3) precise-proposed; urgency=low

[ Ben Howard ]
* Parameterization of recordfail setting. This allows users to define the
  default time out of GRUB when recordfail has been set. The curren
  setting causes hangs on headless and appliances where access to the
  console is limited or prohibited.  (LP: #669481)  [1]

-- Louis Bouchard <louis.bouchard@canonical.com>  Tue, 21 Aug 2012 10:51:58 +0200

Informations plus détaillées de LaunchPad .


Après avoir effectué la modification, exécutez également update-grubpour générer le /boot/grub/grub.cfgfichier mis à jour
Colt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.