Я запускаю 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 во время начальной загрузки?
Хорошо люди, вот ответ... для получения скрытого меню 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
я предполагаю, что Вы хотите попробовать 'все' доступное через /etc/default/grub
. Вы читали эту ссылку,
, я предлагаю, чтобы Вы попытались удалить следующие строки от /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
работал, но можно сделать сценарий для него.
Я полагаю, что эта проблема может произойти из-за нескольких ОС согласно этой выборке от 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