Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: grub2  (Прочитано 2157 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kjqwge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
grub2
« : 27 Ноября 2013, 16:25:52 »
Доброго времени суток. При определенных условиях grub2 выскакивает и ждет выбора что ему делать, к примеру если пропало электропитание в момент загрузки системы, это крайне не удобно, к примеру если к компьютеру не подключина клавиатура. Как сдалать чтобы в такие моменты он выскакивал к примеру на 5 секунд, а после 5ти секунд выбирал параметр по умолчанию  :) Ман по grub'у читал, но честно говоря не нашел там что мне нужно. P.S. У меня 12.04, но это не особо важно.

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
Re: grub2
« Ответ #1 : 27 Ноября 2013, 17:37:18 »
По умолчанию настроено на 10 секунд, и поумолчанию это первый элемент списка, если нет настройки на сохранение прошлой загрузки.
Файл /etc/default/grub

#Пункт по умолчанию
GRUB_DEFAULT=0
#Важен если Ubuntu одна
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
#время простоя
GRUB_TIMEOUT=10
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

Оффлайн kjqwge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: grub2
« Ответ #2 : 27 Ноября 2013, 18:09:18 »
Цитировать
#Пункт по умолчанию
GRUB_DEFAULT=0
#Важен если Ubuntu одна
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
#время простоя
GRUB_TIMEOUT=10
После изменений sudo update-grub соответственно.
Но вообще я про ман где это написано и говорил, не помогает. Попробую описать ситуацию понятнее: специально для теста поставил на VirtualBox Ubuntu. Виртуалка только ради того чтобы не дергать комп перезапусками (Ubuntu виртуализирует Ubuntu  ;D ) после запуска жду секунд 5 и вырубаю Виртуалбокс, и после пару таких хардразетов вылазит Grub и тупо весит на выборе пункта загрузки. А хотелось бы чтобы он повисел и выбрал сам пункт через какое то время, он же уже не маленький, пора и самому решать  :)
Менял и GRUB_HIDDEN_TIMEOUT и GRUB_TIMEOUT после вбивал команду sudo update-grub, но ничего не помогает в данном случае. Сорри если глупые вопросы, просто я люблю все настраивать под себя и вообще это полезно знать.
« Последнее редактирование: 27 Ноября 2013, 18:11:05 от stp101 »

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5583
  • Все по палатам!
    • Просмотр профиля
Re: grub2
« Ответ #3 : 27 Ноября 2013, 18:13:25 »
stp101,
Поставь UPS и не мучайся
Извините, я все еще учусь

Оффлайн kjqwge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: grub2
« Ответ #4 : 27 Ноября 2013, 18:27:55 »
Цитировать
Поставь UPS и не мучайся
Вот зачем это было писать?  ;) Имхо документация хорошая в сообществе Ubuntu, но некоторых мелких и порой важных для некоторых ситуаций моментов нет( А хотелось бы

Оффлайн JmAbuDabi

  • Старожил
  • *
  • Сообщений: 2468
  • 나는 빅터 해요. 나는 프로그래머입니다
    • Просмотр профиля
Re: grub2
« Ответ #5 : 27 Ноября 2013, 18:31:15 »
Это искуственное раздувание проблемы, выше рецепт гривен 600, 2300 рублей.

а после следующего хардрезета запускается?

Просто, что-то в загрузочной области ломается, и всё. пиши пропало.

И зачем без клавиатуры запускать комп? не понимаю.

+5% за оффтоп
Sly_tom_cat
« Последнее редактирование: 27 Ноября 2013, 18:44:22 от Sly_tom_cat »
Покой – это не место, где тихо и мирно, где нет шума и беспокойства.
Покой – это когда при всем этом, вы сохраняете мир и спокойствие в своем сердце.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: grub2
« Ответ #6 : 27 Ноября 2013, 18:36:38 »
В Grub2 есть защита от бесконечных перегрузок.
Реализовано это переменной окружения груба (recordfail), и работает так, что если не было полной загрузки, то при следующей - меню будет выводится и ждать явного вмешательства. Следующий хардресет - не поможет, переменную сбрасывает скрип который запускается на финальных стадиях загрузки (но загрузиться не даст груб).
Смысл в том, что если система падает во время загрузки и идет на перезагрузку, то процесс это будет продолжаться почти бесконечно... и без этих мер легко можно загадить на 100% раздел с логами и в результате систему будет уже очень трудно поднять....

Убрать это можно изменив шаблоны скриптов груба (лежат в /etc/grub.d).
В шаблоне 00_header надо внести изменение - прописать recordfail=0 вместо recordfail=1 в следующем фрагменте:
Цитировать
function recordfail {
  set recordfail=1
  if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
}
Само собой после этого надо будет обновить груб.

Но имейте в виду, что бяка от которой защищает этот механизм (который вы хотите сломать) может случится и последствия будут неприятными....
« Последнее редактирование: 27 Ноября 2013, 18:54:39 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн kjqwge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: grub2
« Ответ #7 : 27 Ноября 2013, 18:40:20 »
Цитировать
Это искуственное раздувание проблемы, выше рецепт гривен 600, 2300 рублей.
... не нарушайте правила не увлекайтесь оверквотингом...
И зачем без клавиатуры запускать комп? не понимаю.
вообще про искуственное раздувание проблемы вы скорее всего правы, прошу прощения. После следующего хардрезета запускается так же весит на выборе. А без клавиатуры, все просто, один из компов у меня на телек как медиа центр  подключен, там клавиатура по сути мне не нужна, только беспроводная мышь.

На оффтоп отвечать не надо, ответ на оффтоп - тоже оффтоп.
Для оффтопа используйте "сообщить модератору".
Предупредил без процентов
Sly_tom_cat
« Последнее редактирование: 27 Ноября 2013, 18:46:29 от Sly_tom_cat »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: grub2
« Ответ #8 : 27 Ноября 2013, 18:59:11 »
По умолчанию настроено на 10 секунд, ...
Вы совсем не о том, что спросил ТС.....
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн kjqwge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: grub2
« Ответ #9 : 27 Ноября 2013, 19:00:51 »
Цитировать
function recordfail {
  set recordfail=0
  if [ -n "\${have_grubenv}" ]; then if [ -z "\${boot_once}" ]; then save_env recordfail; fi; fi
}
Большое спасибо, помогло  :)
« Последнее редактирование: 27 Ноября 2013, 19:03:03 от stp101 »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: grub2
« Ответ #10 : 27 Ноября 2013, 19:04:11 »
stp101, вы только не ругайтесь потом на меня если случится та бяка про которую я предупреждал :)

И кстати после апдейта пакета grub-а - это изменение в шаблонах может пропасть - последите за этим.
« Последнее редактирование: 27 Ноября 2013, 19:06:05 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн kjqwge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: grub2
« Ответ #11 : 27 Ноября 2013, 19:12:09 »
Sly_tom_cat Спасибо я понимаю риск и возможные последствия, просто понять что это не баг а фичя, я считаю важным моментом. И спасибо вам за подробное разъяснение данной ситуации.

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: grub2
« Ответ #12 : 28 Ноября 2013, 11:36:40 »
Собственно вопрос этот возникает на форуме не в первый раз. Я и сам, когда то давно, задался им и покопался немного в скриптах пока не разобрался.

Посему я добавил в статью о GRUB описание этого механизма и то как его отключить: тынц
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: grub2
« Ответ #13 : 28 Ноября 2013, 12:19:35 »
Ups!!!

А глянул тут еще на скрипты и нашел топор за лавкой :o

Оказывается есть переменная GRUB_RECORDFAIL_TIMEOUT - которая задет таймаут на случай если recordfail установлена в 1.

Т.е. менять 00_header НЕ НАДО!!!
И не надо следить что бы обновления не затерли это изменение.

Достаточно в /etc/defaul/grub дописать строчку типа

GRUB_RECORDFAIL_TIMEOUT=10 и обновить Grub.

Во как все просто оказывается!!! 8)

.... пошел переписывать заметку в wiki....
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Оффлайн kjqwge

  • Автор темы
  • Новичок
  • *
  • Сообщений: 46
    • Просмотр профиля
Re: grub2
« Ответ #14 : 28 Ноября 2013, 20:21:55 »
протестил последний вариант, (предварительно убрав изменения в 00_header, которые были сделаны ранее) раз 30 жестко поперезагружал виртуалку, grub молчал и не показывался, точно так же как когда я изменял параметр recordfail=0 в шаблоне 00_header. Вобщем второй вариант работает  :) Правда как я понял второй вариант должен всетаки показывать grub, ждать 10 секунд и выбирать пункт по умолчанию, или я ошибаюсь?

Пользователь решил продолжить мысль 28 Ноября 2013, 20:54:08:
Так же обнавил Grub до версии 1.99-21ubuntu3.11, подтверждаю настройки не слетают  :)
« Последнее редактирование: 28 Ноября 2013, 20:54:08 от stp101 »

 

Страница сгенерирована за 0.05 секунд. Запросов: 25.