Как я могу заставить свое меню GRUB быть скрытым И иметь клавиши Shift, или клавиши Esc показывают скрытое меню GRUB во время начальной загрузки

Я запускаю Ubuntu 16.10, и я пытаюсь скрыть свое меню GRUB в питании на/время начальной загрузки и хотеть, чтобы меню появилось только, когда я поразил клавиши Shift или клавиши Esc.

Я изменяю подходящие варианты в /etc/default/grub и это все еще не скроет меню.

В исследовании этого я нашел это сообщение с 2013 GRUB скрытое меню, не работающее, который указывает, что проблема была вокруг некоторое время и предлагает изменение в /etc/grub.d/30_os-prober который я не сделал бы. Тот код предполагает, что начиная с ее найденного несколько ОС, собирается установить GRUB_TIMEOUT=10 так или иначе.

Вот отрывок того, в чем я имею теперь /etc/default/grub... меню с 10-секундным обратным отсчетом...

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

Если я некомментирую #GRUB_HIDDEN_TIMEOUT=0, затем sudo update-grub настаивает, что я также установил GRUB_TIMEOUT=10 кому: GRUB_TIMEOUT=0. Я делаю это, и я все еще вижу меню GRUB.

В terminal, ввод info -f grub -n 'Simple configuration' описывает различные варианты, и в самом конце информации, он показывает, что некоторые текущие команды обесценивались, и предполагает, что более новые замены лучше.

Кто-либо знает, как я могу добраться, мое меню GRUB, чтобы скрыться в 16,10 И иметь его распознают клавиши Shift или клавиши Esc во время начальной загрузки?

9
задан 13 April 2017 в 05:23

3 ответа

Хорошо люди, вот ответ... для получения скрытого меню GRUB в конфигурациях двойной загрузки... два редактирования... и sudo update-grub...

Редактирование № 1

Для получения скрытого меню GRUB в мультизагрузочной конфигурации мы сначала должны отредактировать /etc/default/grub. Откройте этот файл с помощью ниже команды:

sudo editor /etc/default/grub

, После того как файл открыт, замените эти строки

GRUB_HIDDEN_TIMEOUT_QUIET=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=10

с ними:

GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT_STYLE=countdown
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=3

Это заставит GRUB отображать 3 вторых таймера обратного отсчета на экране. Путем выполнения этого пользователь может нажать клавишу Esc для перевода в рабочее состояние меню по умолчанию. Иначе ОС по умолчанию загрузится.

, При необходимости чтобы ОС по умолчанию была установлена на загруженную в последний раз ОС, добавьте ниже двух строк под "GRUB_TIMEOUT=3", показанным выше:

GRUB_DEFAULT=saved    # change an existing line to this
GRUB_SAVEDEFAULT=true # add this line

Редактирование № 2

Затем, тестер ОС должен быть обновлен для отключения quickboot опции. Чтобы сделать это, откройте /etc/grub.d/30_os-prober в Вашем любимом редакторе и изменитесь ниже строки (строка 23 в 17,04) путем замены 1 с 0:

quick_boot="1"

, Когда Вы сделаны, строка должна читать как:

quick_boot="0"

Сохранили файлы и затем работают ниже команды, чтобы реконфигурировать загрузчик и применить Ваши изменения:

sudo update-grub
7
ответ дан 23 November 2019 в 04:57
  1. я предполагаю, что Вы хотите попробовать 'все' доступное через /etc/default/grub. Вы читали эту ссылку,

    help.ubuntu.com/community/Grub2/Setup#Configuring_GRUB_2

  2. , я предлагаю, чтобы Вы попытались удалить следующие строки от /boot/grub/grub.cfg,

    ...
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
      set timeout=10
    fi
    ### END /etc/grub.d/30_os-prober ###
    

    Да, я знаю, необходимо ли было бы сделать это, каждый раз update-grub работал, но можно сделать сценарий для него.

3
ответ дан 23 November 2019 в 04:57

Я полагаю, что эта проблема может произойти из-за нескольких ОС согласно этой выборке от Grub2 wiki:

Если никакая другая операционная система не будет обнаруженным GRUB 2, то загрузится прямо в операционную систему по умолчанию, и никакое меню не будет отображено. Если другая операционная система будет обнаружена, то меню GRUB 2 отобразится.

И

Сохранение ОС может быть достигнуто путем выполнения sudo значения по умолчанию набора личинки, если GRUB_DEFAULT=saved установлен в/etc/default/grub. Это может также быть сохранено, если GRUB_SAVEDEFAULT=true также установлен в/etc/default/grub. В этом случае ОС по умолчанию остается, пока новая ОС вручную не выбрана из меню GRUB 2, или команда по умолчанию набором личинкой выполняется.

Grub2 Wiki также указывает:Примечание: существует давняя подтвержденная ошибка на скрытой функции меню в GRUB 1.97 к GRUB 1.99. Меню не может скрыться, как указано в описании на этой странице. В то время как редактирование сценария 30_os-тестера может устранить эту проблему, это выходит за рамки этой страницы.

Поскольку работа вокруг Вас может установить GRUB_TIMEOUT="1"и Вы будете только видеть меню в течение 1 секунды. Если я должен переключиться на другую ОС, я просто поразил стрелку вниз, ключ в течение той секунды и меню появится, пока я не сделаю выбор.

Может быть потенциальная проблема синтаксиса, связанная с ошибкой. Я не эксперт Grub2, но в моей личинке регистрируют каждую командную строку концы с = "некоторая заключенная в кавычки установка", я помню со своих дней кодирования, что "кавычки" должны были передать строку, куда как не кавычки передавали простые числовые значения переменным. Я не нахожусь в новых методах кода. например, Вот часть моего вывода личинки:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

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

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

Я изучаю этот Grubbug :) для большего количества информации, а также Этой Ошибки Оба из них Grub2, связанный 2 старые года. Часть этого могла быть связана с кодом MBR перед передачей Grub2

3
ответ дан 23 November 2019 в 04:57

Другие вопросы по тегам:

Похожие вопросы: