Grub timeout style hidden что это
Перейти к содержимому

Grub timeout style hidden что это

  • автор:

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

Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

  • Форум русскоязычного сообщества Ubuntu »
  • Архив »
  • Архив »
  • Архив тем до 2016г »
  • GRUB 2 и Timeout в меню выбора ОС — [РЕШЕНО]

Страницы: [1] 2 Все Вниз

Автор Тема: GRUB 2 и Timeout в меню выбора ОС — [РЕШЕНО] (Прочитано 30730 раз)

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

Страницы: [1] 2 Все Вверх

  • Форум русскоязычного сообщества Ubuntu »
  • Архив »
  • Архив »
  • Архив тем до 2016г »
  • GRUB 2 и Timeout в меню выбора ОС — [РЕШЕНО]

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

  • Сайт
  • Об Ubuntu
  • Скачать Ubuntu
  • Семейство Ubuntu
  • Новости
  • Форум
  • Помощь
  • Правила
  • Документация
  • Пользовательская документация
  • Официальная документация
  • Семейство Ubuntu
  • Материалы для загрузки
  • Совместимость с оборудованием
  • RSS лента
  • Сообщество
  • Наши проекты
  • Местные сообщества
  • Перевод Ubuntu
  • Тестирование
  • RSS лента

© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.

Grub timeout style hidden что это

22 апр 2018, 16:45

Ноутбук, mint 18.3 cinnamon, дуалбут.

В /etc/grub.d/40_custom добавил строки: set timeout_style=hidden set timeout=0 Затем update-grub

Проблема в том, что сразу начинает грузиться ось(та что первым пунктом идет в grub). Зажимай шифт- не зажимай, меню grub видимым не сделать.
Как бы мне включить возможность сделать меню видимым при зажатии какой-нибудь клавиши? Но при этом и оставить невидимым, если ничего не нажимать и система автоматически грузилась из первой строки grub?

Я уже пробовал в /etc/grub.d/40_custom добавить:

set timeout_style=hidden if [ "x\$" != "x-1" ]; then if keystatus; then if keystatus --shift; then set timeout=-1 else set timeout=0 fi else if sleep --interruptible $ ; then set timeout=0 fi fi fi

Но shift все-равно не работает. Кроме того, один черный экран, где вслепую приходится вводить код от люкса.

Пробовал выставлять GRUB_HIDDEN_TIMEOUT=10 и GRUB_TIMEOUT=0 + вставлять код, что выше в /etc/grub.d/40_custom , но становилось еще хуже. Но заметил, что Esc отображает grub, но вот если ничего не нажимать, то система автоматически уже не грузится из первой строки grub.

В данный момент я вернул все как было, а именно — сам grub:

GRUB_DEFAULT=0 #GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` #GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_CMDLINE_LINUX=""

А из /etc/grub.d/40_custom — удалил все, что добавлял ранее.

P.S> после всех изменений всегда делал update-grub.

Последний раз редактировалось пользователем 1 rogoznik; всего редактировалось раз: 22
Причина: BBcode

Как скрыть меню grub и чтобы shift работал?

В /etc/grub.d/40_custom добавил строки: set timeout_style=hidden и set timeout=0 Затем update-grub
Проблема в том, что сразу начинает грузиться ось(та что первым пунктом идет в grub). Зажимай шифт- не зажимай, меню grub видимым не сделать.
Как бы мне включить возможность сделать меню видимым при зажатии какой-нибудь клавиши? Но при этом и оставить невидимым, если ничего не нажимать и система автоматически грузилась из первой строки grub?

Участник с: 17 февраля 2011

FliXis
Зажимай шифт- не зажимай, меню grub видимым не сделать.

А грабу плевать с высокой горки на зажатый шифт.

FliXis
Как бы мне включить возможность сделать меню видимым при зажатии какой-нибудь клавиши?

Погуглить как минимум.
https://aur.archlinux.org/packages/grub-holdshift/
Участник с: 22 апреля 2018

Какой из них лучше использовать?

Участник с: 17 февраля 2011

FliXis
по некоторым причинам я не могу использовать готовый пакет

Даже интересно, по каким же?

FliXis
в чем различие

Первый — проще и у него есть автор. Второй, соответственно, чуть больше и от лукавого от анонимуса. )
В подробности, за ненадобностью, не вникал.

Участник с: 22 апреля 2018

FliXis
по некоторым причинам я не могу использовать готовый пакет

Даже интересно, по каким же? У меня совсем другой дистрибутив, а если точнее, то это mint 18.3 cinnamon. Не найдя помощи на пятерке дугих ресурсов, я пришел сюда. Надеюсь это не запрещено правилами форума, к примеру, на форуме ubuntu(на котором mint и основан) тему снесли и разрешили создать лишь в местной «болталке», где сидит полтора человека.

Так же, я пробовал в /etc/grub.d/40_custom
прописать вот этот кусок кода, который мне посоветовали на лоре:

set timeout_style=hidden if [ "x\$" != "x-1" ]; then if keystatus; then if keystatus --shift; then set timeout=-1 else set timeout=0 fi else if sleep --interruptible $ ; then set timeout=0 fi fi fi

Но shift так и не заработал.

Еще находил руководство, где требовалось закомментить

if [ "x$" != "x" ]; then

в файле 30_os-prober из-за какого-то бага связанного с дуалбутом, но в нем эта строка уже выглядит несколько иначе, чем в том руководстве, что я видел и не стал это пробовать.

Участник с: 17 февраля 2013

FliXis
добавил строки: set timeout_style=hidden и set timeout=0

Клавиша «SHIFT» не поможет с отображением меню Grub2 (без соответствующей доработки), если значение параметра timeout=0

FliXis
Так же, я пробовал в /etc/grub.d/40_custom
прописать вот этот кусок кода, который мне посоветовали на лоре:

Этот код никогда не пробовал, я использую другой, но есть одно НОэто не работает при перегрузке, работает только при включении — после нажатия на кнопку питания, удерживай SHIFT, пока не появится меню.
UPD — насколько помню, нужно приписывать этот код в файл /etc/grub.d/30_os-prober
Пробуй, если не сработает, привожу рабочий вариант, правда у меня grub.cfg самописный, написанный ручками. Привожу самое начало
# cat /boot/grub/grub.cfg

set default=0 # set timeout=0 adjust_timeout () < cat # пункт меню номер 0 menuentry "Arch Linux" < linux /boot/vmlinuz-linux root=/dev/sda3 rw initrd /boot/initramfs-linux.img >….. и далее прописаны еще 3 системы …. 

Уточнение
1. Установить значение timeout равным нулю ….. и больше никакие параметры не трогать.
2. Привожу отдельно сам код, без которго клавиша SHIFT работать не будет

adjust_timeout ()

Если не хочешь использовать самописный grub.cfg, попробуй прописать этот код в /etc/grub.d/30_os-prober

Ошибки не исчезают с опытом — они просто умнеют
Участник с: 22 апреля 2018

found_other_os= adjust_timeout () < if [ "$quick_boot" = 1 ] && [ "x$" != "x" ]; then cat " = 0 ]; then set timeout=10 fi EOF fi >

И в самом-самом конце файла зачем-то упоминается еще раз:

adjust_timeout

Мне надо это привести к такому состоянию?

found_other_os= adjust_timeout ()

Как-то стремно, что не загружусь в систему. Я ведь смогу, если вдруг что не так — просто зайти из под лайв-флешки, примотировать корневой раздел и заметить на резервную копию этого файла? Мне не придется выполнять команду update-grub? Я просто не помню как из под флешки дать команду на апдейт примотированному корневому разделу.

На всякий случай еще раз напишу — у меня дуалбут. И забыл упомянуть вначале — стоит luks на всех разделах, кроме boot — не знаю важно это для этой задачи или же нет.
И еще в самом грабе:

#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX_DEFAULT=""

И еще вопрос, а в чем разница между добавлением кода в /etc/grub.d/40_custom и редактированием /etc/grub.d/30_os-prober или, например, подсовыванием стороннего /etc/grub.d/31_hold_shift?

Участник с: 17 февраля 2013

# по-умолчанию выбран пункт меню 0 set default=0 set timeout=5 #adjust_timeout () < # cat # пункт меню номер 0 menuentry "Arch Linux" < linux /boot/vmlinuz-linux root=/dev/sda3 rw initrd /boot/initramfs-linux.img ># пункт меню номер 1 menuentry "Arch Linux-lts" < linux /boot/vmlinuz-linux-lts root=/dev/sda3 rw initrd /boot/initramfs-linux-lts.img ># пункт меню номер 2 submenu "Ubuntu" < set root=hd0,2 linux /boot/vmlinuz-3.2.0-39-generic-pae root=/dev/sda2 rw quiet initrd /boot/initrd.img-3.2.0-39-generic-pae ># пункт меню номер 3 menuentry "Windows 7"

GRUB2 — Быстрый старт

Эта статья описывает, как установить и запустить GRUB в простейшей конфигурации. Для перехода с GRUB Legacy на GRUB2 смотрите Миграция на GRUB2.

  • 1 Установка GRUB
  • 2 Активация загрузчика GRUB
  • 3 Автоматическая настройка
    • 3.1 Схема именования ядер
    • 3.2 Тихая загрузка ядра
    • 3.3 systemd

    Установка GRUB

    Для установки GRUB, сначала задайте для переменной GRUB_PLATFORMS одно или более значение в системном make.conf . Если не определять переменную, то GRUB сам определит, какая платформа установлена в системе. Он определит pc (для MBR стиля установки) для архитектур x86 / amd64 .

    Поддержка стандартного ПК (BIOS):

    ФАЙЛ /etc/portage/make.conf Пример GRUB_PLATFORMS для ПК с BIOS

    GRUB_PLATFORMS="pc" 

    ФАЙЛ /etc/portage/make.conf Пример GRUB_PLATFORMS для ПК с 64–битным UEFI

    GRUB_PLATFORMS="efi-64" 

    Поддержка и BIOS, и UEFI:

    ФАЙЛ /etc/portage/make.conf Пример GRUB_PLATFORMS с несколькими вариантами

    GRUB_PLATFORMS="efi-64 pc" 

    После настройки переменной, установите ПО:

    root # emerge —ask sys-boot/grub

    Активация загрузчика GRUB

    Если применимо, смонтируйте /boot :

    root # mount /boot

    Если используется EFI платформа, убедитесь, что системный раздел EFI доступен в (смонтирован) в /boot/efi . Этого можно добиться либо с помощью специального раздела ( /boot/efi отформатированного в FAT), либо раздел /boot должен быть полностью отформатирован в файловую систему FAT. Это преобразует /boot в большой системный раздел EFI

    Предполагая, что только /boot/efi форматирован в FAT:

    root # mount /boot/efi

    Запустите утилиту grub-install для копирования нужных файлов в /boot/grub . На платформе PC данная утилита также записывает начальный загрузчик в главную загрузочную область (MBR) или загрузочный сектор раздела.

    Для установки GRUB в MBR:

    root # grub-install /dev/sda

    Installation finished. No error reported.

    Для установки GRUB на EFI–совместимую систему:

    root # grub-install —target=x86_64-efi

    Installation finished. No error reported.

    Утилита grub-install может принимать параметр —target для определения ЦПУ/платформы, на которую, grub2 устанавливается. Если данный параметр не задан, то grub-install сам попытается определить параметр. На x86 / amd64 будет использован параметр i386-pc по умолчанию.

    Автоматическая настройка

    GRUB настраивается при помощи утилиты grub-mkconfig , которая создаёт конфигурационный файл.

    grub-mkconfig создаёт конфигурационный файл основываясь на шаблонах расположенных в /etc/grub.d . Стандартных шаблонов, в основном, должно хватить для большинства схем загрузок.

    user $ ls /etc/grub.d

    00_header 10_linux 20_linux_xen 30_os-prober 40_custom 41_custom README

    Поведение данных шаблонов можно контролировать заданием переменных в /etc/default/grub . Смотрите GRUB manual для более подробной информации по настройке GRUB2.

    Схема именования ядер

    Чтобы grub-mkconfig определила доступные ядра, их имена должны начинаться с vmlinuz- или kernel- .

    КОД Пример названий ядер, которые GRUB может определить

    /boot/vmlinuz-3.4.3 /boot/kernel-2.6.39-gentoo /boot/kernel-genkernel-x86_64-3.17.1-gentoo-r1

    Если используется initramfs, то название файла должно начинаться с initramfs- или initrd- . Версия должна совпадать с версией образа ядра. Файлы, созданные с помощью genkernel , также будут найдены.

    КОД Пример названий initramfs, которые GRUB может определить

    /boot/initrd.img-3.4.3 /boot/initrd-3.4.3.img /boot/initrd-3.4.3.gz /boot/initrd-3.4.3 /boot/initramfs-3.4.3.img /boot/initramfs-genkernel-3.4.3-gentoo /boot/initramfs-genkernel-x86_64-2.6.39-gentoo

    Для создания файла grub.cfg выполните команду grub-mkconfig :

    root # grub-mkconfig -o /boot/grub/grub.cfg

    Generating grub.cfg . Found linux image: /boot/vmlinuz-3.2.9 done

    Тихая загрузка ядра

    Для загрузки ядра без вывода на экран системных сообщений отредактируйте файл /etc/default/grub , добавив quiet в переменную GRUB_CMDLINE_LINUX_DEFAULT .

    ФАЙЛ /etc/default/grub Пример параметров тихой загрузки

    GRUB_CMDLINE_LINUX_DEFAULT="quiet" 

    systemd

    Для загрузки systemd при использовании GRUB настройте переменную GRUB_CMDLINE_LINUX таким образом:

    Важно
    Это больше не является необходимым для sys-apps/systemd , если включён USE–флаг sysv-utils . Он активен по умолчанию в Gentoo, начиная с версии 239.

    ФАЙЛ /etc/default/grub Systemd пример

    GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd" 

    Загрузка других операционных систем

    Утилита grub-mkconfig может также создать конфигурации для загрузки «других» операционных систем. Однако, для это потребуется пакета sys-boot/os-prober .

    Для загрузки Windows также должен быть установлен пакет sys-fs/ntfs3g . Это позволит утилите grub-mkconfig исследовать NTFS файловые системы.

    Ручная настройка

    Использование grub-mkconfig не является обязательным. Файл конфигурации grub.cfg также можно отредактировать вручную.

    Переход от формата конфигурации GRUB Legacy к формату конфигурации GRUB 2 обычно довольно прост и требует внесения всего нескольких мелких синтаксических изменений.

    ФАЙЛ grub.conf GRUB Legacy
    timeout 5 »’title»’ Gentoo Linux 3.2.12 root »’(»’hd0,»’0)»’ »’kernel»’ /boot/kernel-3.2.12-gentoo root=/dev/sda3
    ФАЙЛ grub.conf GRUB

    timeout'''='''5 '''menuentry ''''Gentoo Linux 3.2.12'''' {''' root'''='''hd0,'''1''' '''linux''' /boot/kernel-3.2.12-gentoo root=/dev/sda3 '''}'''

    Заметка
    GRUB Legacy нумерует разделы, начиная с 0; GRUB нумерует разделы, начиная с 1. Оба загрузчика нумеруют диски, начиная с 0.

    Смотрите также

    • GRUB — Подробная статья о GRUB, которая содержит больше информации и обширный список дополнительных ресурсов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *