Grub время ожидания через 10 секунд после редактирования на «0» в / etc / default / grub?

Используя все решения, описанные на этом сайте, установка времени ожидания меню 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 ??

5
задан 17 January 2018 в 18:26

4 ответа

Это ошибка . Проблема находится в файле /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.

25_pre-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

35_post-os-prober

#! /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
0
ответ дан 17 January 2018 в 18:26

При чтении документации в 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
ответ дан 17 January 2018 в 18:26

Я всегда был в состоянии добраться в 0 второго раза, хотя 1 второй раз не намного более напрасно тратится время. Попытайтесь изменить эту строку

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"

к этому:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

я ничего не вижу в этом файле конфигурации, который кажется в неисправном состоянии, но Вы могли бы попробовать это, если Вы отчаянно пытаетесь сохранять 1 секунду в течение времени начальной загрузки.

0
ответ дан 17 January 2018 в 18:26

Существует переопределение в личинке для того, когда тайм-аут составляет 0 секунд для замены его 10 секундами. Вместо того, чтобы редактировать сценарии личинки как, другие ответы рекомендуют, чтобы можно было просто использовать:

GRUB_HIDDEN_TIMEOUT="0.0"
GRUB_TIMEOUT="0.0"

Это будет работать, потому что переопределения личинки не найдут "0" быть равными "0.0".

0
ответ дан 23 November 2019 в 08:59

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

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