Як я можу змусити Ubuntu завантажуватися в меню, що застрягло?


31

У мене є Ubuntu Server 11.04, але він без голови (без монітора). Єдиний спосіб я хочу отримати доступ до нього дистанційно через SSH. Але іноді, скажімо, після втрати живлення, коли сервер перезапуститься, він застрягне в меню завантаження Grub, і він не відлічить. Він просто зависне там, чекаючи, коли я виберу перший запис про завантаження. Це означає, що я мушу піти туди і підключити монітор та клавіатуру.

Але я не можу це зробити віддалено. Як я можу змусити його продовжувати завантажуватись до завантаження запису 1 (за замовчуванням) незалежно від втрати живлення чи будь-якого іншого?

Відповіді:


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

Спасибі. Це для розділу "make_timeout" у файлі, оскільки я можу побачити ряд "рядів запису" під час пошуку. Якщо так, чи залиште цей другий варіант "встановити тайм-аут" таким, який він є (той, що говорить "ще")?
nПослано

правильно - Я
оновлю

Якщо я запускаю вимкнення sudo зараз -r, але я пінгую систему і помічаю, що вона не повернулася в Інтернеті, коли я її вручну вимикаю і знову включаю, чи є де перевірити, чому вона вийшла з ладу?
nПосилання

він знову застряг у грубі? чи це просто відключення? У людини "відключення" є пара файлів, куди записані речі.
fossfreedom

3
Я думаю, що це рішення не є постійним, оскільки воно буде перезаписано, якщо пакети grub отримають оновлення. "Інше рішення" для використання "GRUB_RECORDFAIL_TIMEOUT" є більш підходящим. Отже, я з повагою відхилився від цього рішення і підтримав інше.
rik-shaw

36

Що стосується Ubuntu 12.04, то більш простим, але, тим не менш, без документації рішенням є використання /etc/default/grubдля заміни таймауту запису записів :

GRUB_TIMEOUT=10
GRUB_RECORDFAIL_TIMEOUT=$GRUB_TIMEOUT

Той факт, що такий варіант є повністю недокументованим, просто надто погано.

EDIT

Насправді підтримка 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 .


Після внесення змін також запустіть update-grubдля створення оновленого /boot/grub/grub.cfgфайлу
Кольт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.