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

5

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

    
задан RCF 07.06.2015 в 00:31
источник

3 ответа

5

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

Если вы используете двойную загрузку not , другим способом является удаление os-prober .

25_pre-ос-тестовые пробники:

#! /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-ос-тестовые пробники

#! /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
    
ответ дан edwin 13.06.2015 в 13:43
источник
2

Если вы прочитали документацию в 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

Run

sudo update-grub

и посмотрите, работает ли он.

Вы можете дважды проверить в /boot/grub/grub.cfg , ища тайм-аут , чтобы обновление было выполнено правильно.

    
ответ дан solsTiCe 10.06.2015 в 12:38
0

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

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"

:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

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

    
ответ дан Daniel 10.06.2015 в 21:26