Jak zmusić Ubuntu do uruchomienia w zablokowanym menu rozruchowym?


31

Mam Ubuntu Server 11.04, ale jest bezgłowy (bez monitora). Jedyny sposób, w jaki chcę mieć do niego dostęp, to zdalnie przez SSH. Ale czasami, powiedzmy po utracie zasilania, kiedy serwer uruchomi się ponownie, utknie w menu rozruchowym Grub i nie będzie się odliczał. Po prostu zawiesi się, czekając, aż wybiorę pierwszy wpis rozruchu. Oznacza to, że muszę tam iść i podłączyć monitor i klawiaturę.

Ale nie mogę tego zrobić zdalnie. Jak mogę zmusić go do kontynuowania uruchamiania, aby uruchomić pozycję 1 (domyślnie) bez względu na utratę zasilania czy coś takiego?

Odpowiedzi:


10

Odpowiedź na to pytanie można znaleźć w pliku grub /etc/grub.d/00_header

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

Ustawienie wartości limitu czasu na -1 zatrzyma odliczanie. Zmień wartość na wartość> 0 tjset timeout=10

wyglądałaby ta sekcja pliku

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

Następnie uruchomić

sudo update-grub2

Dzięki. Czy chodzi o sekcję „make_timeout” w pliku, ponieważ podczas wyszukiwania widzę wiele linii „recordfail”. Jeśli tak, to czy pozostawia tę drugą opcję „ustaw limit czasu” taką, jaka jest (ta, która mówi „inne”)?
nLinked

poprawne - zaktualizuję odpowiedź, aby wyjaśnić
fossfreedom

Jeśli uruchomię teraz sudo -r, ale pinguję system i zauważam, że nie wrócił on do trybu online, kiedy ręcznie go wyłączam i włączam ponownie, czy jest miejsce, aby sprawdzić, dlaczego się zawiesił?
nLinked

czy znowu utknął w jedzeniu? czy to właśnie się zamknęło? Wykonaj „zamknięcie” człowieka, jest kilka plików, w których zapisywane są różne rzeczy.
fossfreedom

3
Myślę, że to rozwiązanie nie jest trwałe, ponieważ zostanie zastąpione, jeśli pakiety grub otrzymają aktualizacje. „Inne rozwiązanie” do użycia „GRUB_RECORDFAIL_TIMEOUT” jest bardziej odpowiednie. Z szacunkiem głosowałem za tym rozwiązaniem, a za drugim.
rik-shaw

36

Począwszy od Ubuntu 12.04, prostszym, ale nieudokumentowanym rozwiązaniem, jest rozwiązanie problemu /etc/default/grubz przekroczeniem limitu czasu braku zapisu :

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Fakt, że taka opcja jest całkowicie nieudokumentowana, jest po prostu zły.

EDYTOWAĆ

W rzeczywistości wsparcie dla GRUB_RECORDFAIL_TIMEOUTzostało dodane w połowie cyklu 12.04, począwszy od wersji 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

Bardziej szczegółowe informacje z LaunchPad .


Po dokonaniu zmiany uruchom także, update-grubaby wygenerować zaktualizowany /boot/grub/grub.cfgplik
Colt
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.