Используя все решения, описанные на этом сайте, установка времени ожидания меню Grub на ноль не работает.
Я сделал следующее:
sudo cp /etc/default/grub /etc/default/grub.old
sudo gedit /etc/default/grub
Раскомментировал эту строку, согласно инструкции.
GRUB_HIDDEN_TIMEOUT="0"
Установите эту строку в соответствии с инструкцией.
GRUB_TIMEOUT="0"
/ etc / default / grub теперь выглядит следующим образом:
# 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="0"
GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="0"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
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"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
Отредактировав файл / etc / default / grub - >
sudo update-grub
После перезапуска время ожидания Grub все еще устанавливается на 10 секунд.
Мне удалось довести время ожидания до 1 секунды всего одним простым изменением. Отредактировал эти две строки в / etc / default / grub
#GRUB_HIDDEN_TIMEOUT="0"
GRUB_TIMEOUT="1"
Прокомментировал первую обратно к значению по умолчанию и установил GRUB_TIMEOUT в «1».
После,
sudo update-grub
Это решение работает, но мой вопрос:
Где ловушка, которая сбрасывает значение TIMEOUT до 10 секунд когда GRUB-TIMEOUT установлен на «0».
Может быть, один из тестов «IF» в grub.cfg ??
Это ошибка . Проблема находится в файле /etc/grub.d/30_os-prober
.
, Как представлено здесь , обходное решение должно добавить файлы /etc/grub.d/25_pre-os-prober
и /etc/grub.d/35_post-os-prober
.
, Эти два файла должны также быть отмечены как исполняемый файл для работы.
После добавления этого два файла, Ваши модификации к переменной GRUB_TIMEOUT
в /etc/default/grub
должны работать как ожидалось.
, Если Вы не двойная загрузка, другое обходное решение должно удалить os-prober
.
#! /bin/sh
# file: /etc/grub.d/25_pre-os-prober
set -e
# Save the $timeout and $timeout_style values set by /etc/grub.d/00_header
# before /etc/grub.d/30_os-prober messes them up.
cat << EOF
set timeout_bak=\${timeout}
set timeout_style_bak=\${timeout_style}
EOF
#! /bin/sh
# file: /etc/grub.d/35_post-os-prober
set -e
# Reset $timeout and $timeout_style to their original values
# set by /etc/grub.d/00_header before /etc/grub.d/30_os-prober messed them up.
cat << EOF
set timeout=\${timeout_bak}
set timeout_style=\${timeout_style_bak}
EOF
При чтении документации в info -f grub -n 'Simple configuration'
сказано, что GRUB_HIDDEN_TIMEOUT_*
удерживается от использования.
Мог Вы пытаться использовать вместо этого в /etc/default/grub
:
GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
#GRUB_HIDDEN_TIMEOUT="0"
#GRUB_HIDDEN_TIMEOUT_QUIET="true"
# rest of file unchanged
Выполнение
sudo update-grub
и видит, работает ли оно или нет.
Вы могли перепроверка в /boot/grub/grub.cfg
поиск тайм-аут , что обновление было правильно сделано.
Я всегда был в состоянии добраться в 0 второго раза, хотя 1 второй раз не намного более напрасно тратится время. Попытайтесь изменить эту строку
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"
к этому:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
я ничего не вижу в этом файле конфигурации, который кажется в неисправном состоянии, но Вы могли бы попробовать это, если Вы отчаянно пытаетесь сохранять 1 секунду в течение времени начальной загрузки.
Существует переопределение в личинке для того, когда тайм-аут составляет 0 секунд для замены его 10 секундами. Вместо того, чтобы редактировать сценарии личинки как, другие ответы рекомендуют, чтобы можно было просто использовать:
GRUB_HIDDEN_TIMEOUT="0.0"
GRUB_TIMEOUT="0.0"
Это будет работать, потому что переопределения личинки не найдут "0"
быть равными "0.0"
.