У меня Ubuntu 10.10 Server установлен на одноплатной машине в полузакрытой среде; нет клавиатуры или экрана, просто SSH доступ к нему.
Так что это действительно расстраивает, когда он иногда загружается и застревает в меню GRUB, ожидая нажатия клавиши, чтобы выбрать первый вариант.
Как настроить GRUB, чтобы ни при каких обстоятельствах не ждать нажатия клавиши?
Обновление № 1: нет menu.lst, так как это GRUB 2. Но у меня есть / etc / default / grub, который выглядит примерно так:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
Обновление № 2: я понял это. На загрузках, которые следуют за неудачными загрузками, GRUB отключает свое собственное время ожидания. Поскольку показ меню делает загрузку неудачной, это неизбежный цикл. Это поведение можно отключить, отредактировав файл /etc/grub.d/00_header и изменив функцию make_timeout:
make_timeout ()
{
echo "set timeout=0"
}
Теперь выйдите и перезапустите скрипт обновления конфигурации grub:
sudo update-grub2
Для меня не имеет смысла, что такое поведение будет по умолчанию для Ubuntu Server, продукта, предназначенного для компьютеров, к которым обращается консоль.
/boot/grub/menu.lst
выглядишь?Ответы:
Для Ubuntu 12.04 LTS есть специальная опция, которую можно установить в
/etc/default/grub
.Например, если вы хотите установить тайм-аут на 2 секунды (что позволяет избежать зависаний при автоматической перезагрузке), просто добавьте следующую строку
/etc/default/grub
:Не забудьте бежать
update-grub
после этого ...источник
Вот инструкции для Ubuntu 10.10, которые немного отличаются от предыдущих версий. В файле /etc/grub.d/00_header закомментируйте глупую проверку на предыдущий сбой загрузки:
Затем обновите:
Имейте в виду, что если есть второй диск с подключенным Linux, grub2 найдет его и спросит вас при загрузке, какой вы хотите. Удалите все лишние диски перед запуском "update-grub".
Смотрите также https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/797544
источник
Я столкнулся с этим крайне неприятным упущением при разработке Ubuntu Server 9.10. Ваше исправление очень помогло мне. Я просто хотел отметить, что исправление, необходимое для 9.10, отличается, поскольку в том же файле нет функции make_timeout ().
Для Ubuntu 9.10 перейдите в конец того же файла (00_header) и измените следующее:
в
Как и раньше, затем запустите:
источник
Сконфигурируйте GRUB для последовательного доступа (и вашего загрузчика, пока вы на нем) и оставьте для этих случаев открытый последовательный порт, нуль-модемный кабель и конвертер USB-RS232. Я запускаю безголовый сервер и Guruplug, и у меня не было бы другого пути.
источник
Я просто установил длинный тайм-аут для recordfail:
Это означает, что при загрузке вы получаете 30-секундный таймаут, если предыдущая загрузка не удалась. (В отличие от того, как это делает другая ОС ...)
Это может (и IMHO должно) быть настройкой прямо в / etc / default / grub.
источник
Я действительно не знаю, почему это действие по умолчанию, особенно для сервера, но это то, что я реализовал в своих скриптах установки сервера.
источник
Этот подход немного чище - просто измените,
/etc/default/grub
чтобы добавить строку:... что можно сделать автоматически с помощью чего-то подобного в подготовке:
Это должно быть жизнеспособным, если переменная GRUB_RECORDFAIL_TIMEOUT упоминается в
/etc/grub.d/00_header
(как я вижу в 12.04 LTS) в:Мне немного любопытно, может ли изучение вопроса о том, как регистрируются сбои, дать еще лучший ответ.
источник