Как заставить Ubuntu загружаться в зависшем загрузочном меню?

31

У меня Ubuntu Server 11.04, но он безголовый (без монитора). Единственный способ, которым я хочу получить к нему доступ, - это удаленный доступ через SSH. Но иногда, скажем, после отключения питания, когда сервер перезагружается, он застревает в меню загрузки Grub и не начинает обратный отсчет. Он просто висит там, ожидая, когда я выберу первую загрузочную запись. Это означает, что я должен пойти туда и подключить монитор и клавиатуру.

Но я не могу сделать это удаленно. Как заставить его продолжить загрузку с загрузочной записи 1 (по умолчанию) независимо от потери питания или чего-либо еще?

nLinked
источник

Ответы:

10

Ответ на этот вопрос можно найти в файле grub. /etc/grub.d/00_header

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

Установка значения тайм-аута на -1 остановит обратный отсчет. Измените значение на значение> 0, т.е.set timeout=10

этот раздел файла будет выглядеть

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

Тогда беги

sudo update-grub2
fossfreedom
источник
Спасибо. Это для раздела «make_timeout» в файле, так как я вижу ряд строк «recordfail» при поиске. Если это так, оставьте этот второй параметр «установить время ожидания» как есть (тот, который говорит «еще»)?
nLinked
правильно - я
уточню
Если я запускаю sudo shutdown now -r, но я пингую систему и замечаю, что она не вернулась в оперативный режим, когда я вручную выключаю и снова включаю, есть ли место, чтобы проверить, почему она вылетела?
nLinked
он снова застрял в личинке? или он просто отключился? У человека "выключение" есть пара файлов, в которые записывается материал.
fossfreedom
3
Я думаю, что это решение не является постоянным, потому что оно будет перезаписано, если пакеты grub будут получать обновления. «Другое решение» для использования «GRUB_RECORDFAIL_TIMEOUT» более уместно. Итак, я с уважением проголосовал против этого решения и проголосовал против другого.
Рик-Шоу
36

Начиная с Ubuntu 12.04, более простым, но, тем не менее, недокументированным решением является /etc/default/grubпереопределение тайм-аута ошибки записи :

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Тот факт, что такой вариант совершенно недокументирован, просто очень плохо.

РЕДАКТИРОВАТЬ

На самом деле, поддержка GRUB_RECORDFAIL_TIMEOUTбыла добавлена ​​в середине цикла 12.04, начиная с версии 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

Более подробная информация от LaunchPad .

C2H5OH
источник
После внесения изменений также запустите update-grubдля создания обновленного /boot/grub/grub.cfgфайла
Кольт