Как заставить grub загружаться (без участия человека) независимо от предыдущей ошибки загрузки
Когда предыдущая загрузка не удалась. (из-за сбоя питания, аппаратного сбоя) загрузка будет зависать в меню grub для подсказки человека.
Можете ли вы установить опцию принудительной загрузки независимо от того, что случилось?
3 ответа
Хорошо, я нашел решение самостоятельно через список рассылки shlug.
что вы делаете, это модифицируете /etc/grub.d/00_header и находите:
if [ "${recordfail}" = 1 ]; then
set timeout=-1
else
set timeout=3
fi
изменить время ожидания от -1 до 0.
-1 означает ручной выбор.
также не забудьте update-grub
впоследствии, чтобы сгенерировать фактический grub.cfg
Добавлять
GRUB_RECORDFAIL_TIMEOUT=0
в /etc/default/grub, и это решило мою проблему на Ubuntu Server 12.04.4
Grub использует GRUB_RECORDFAIL_TIMEOUT
как время ожидания последней загрузки не удалось. Его значение по умолчанию равно -1, что означает ожидание навсегда.
Это было сообщено как ошибка № 841009 для Ubuntu. Я попытался установить -1 в 0, но у меня не получилось. Поэтому я попробовал другое решение, приведенное здесь: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/841009
Цитата:
[...] решение состоит в том, чтобы установить
GRUB_HIDDEN_TIMEOUT=-1
как предложено на форумах Ubuntu на этой странице http://ubuntuforums.org/showthread.php?t=1403517 но я еще не пробовал это решение.
Цитата:
Сервер grub2 в Ubuntu 9.10 по умолчанию настроен с GRUB_HIDDEN_TIMEOUT=0. Если клавиатура не подключена (как в моей безголовой настройке), это заставит grub2 перейти в меню и остаться там. Установка его в -1 дает мне желаемую последовательность меню, времени ожидания и выбора по умолчанию.
Я не знаю, является ли это ошибкой grub2 или нет, но если это намеренное поведение grub2, конфигурация по умолчанию для серверного дистрибутива, такого как ubuntu server (который вы ожидаете, что он будет работать без коробки из коробки), должна отличаться.
Это сработало для меня.