Как установить тайм-аут GRUB на 0 на Ubuntu 18.04

Я пытался обновить свой файл конфигурации личинки к тайм-ауту к 0 значениям, таким образом, ОС запускается быстро. Я изменил /etc/default/grub конфигурационный файл на моей Ubuntu 18.04 и затем работал:

sudo update-grub

и это не работало. Я также работал:

sudo grub-mkconfig
sudo update-grub

но они не работали.

Я искал много в сети для решения этой проблемы, но во всех руководствах говорится для выполнения команды личинки обновления для обновления личинки /etc/default/grub файл конфигурации. Я не знаю, ли Ubuntu 18.04, которая обрабатывает файлы личинки по-другому, но я не могу обновить свою личинку с моими параметрами.

Это - мой /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"
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"
16
задан 23 May 2018 в 03:00

9 ответов

Ikkummenta GRUB_HIDDEN_TIMEOUT = 0 u erġa ' update-grub mill-ġdid.

1
ответ дан 23 November 2019 в 03:55

Можно установить GRUB_TIMEOUT на -1.

Ex:GRUB_TIMEOUT="-1"

1
ответ дан 23 November 2019 в 03:55

Fil-fajl /boot/grub/grub.cfg hemm kundizzjoni, kważi fit-tmiem tal-fajl, li tissettja l-ħin għal 10 jekk il-ħin huwa ssettjat għal 0. Fi kliem ieħor, jekk tissettja l-ħin ta 'żmien għal 0 f' / etc / default / grub tiegħek u mbagħad taġġorna grub, il-kundizzjoni ta 'hawn fuq issettjaha għal 10 sekondi.

if [ "${timeout}" = 0 ]; then
     set timeout=10
fi

Madankollu, /boot/grub/grub.cfg huwa fajl li jinqara biss u ma nistax ineħħi dik il-kundizzjoni. Għamilt xi testijiet b'valuri differenti tat-timeout fi / etc / default / grub . Ippruvajt b'1ms (0.001), 0.1s u 1s u sibt li valuri taħt 1 (bħal 0.1 u 0.001) jaħdmu bl-istess mod u kważi bħal timeout issettjat għal 0.

18
ответ дан 23 November 2019 в 03:55

Как и в других ответах, раскомментируйте GRUB_HIDDEN_TIMEOUT и запустите update-grub . Затем закомментируйте раздел

if [ "${timeout}" = 0 ]; then
  set timeout=10
fi

в /boot/grub/grub.cfg . В vim вы можете просто переопределить свойство только для чтения с помощью восклицательного знака : x! . Или вы можете запустить

sudo chmod +w /boot/grub/grub.cfg
sudo vim /boot/grub/grub.cfg
sudo chmod -w /boot/grub/grub.cfg

, чтобы временно получить разрешение на запись во время редактирования файла.

3
ответ дан 23 November 2019 в 03:55

Вы можете установить GRUB_TIMEOUT на 0.

Значение тайм-аута при перезаписи части записывается в функции ajust_timeout в верхней части /etc/grub. d/30_os-prober.

ajust_timeout () {
...
if [ "\${timeout}" = 0]; then
  set timeout=10
fi
...
}

Таким образом, вы можете установить значение, отредактировав файл и закомментировать if-block.

3
ответ дан 23 November 2019 в 03:55

В моем случае проблема заключалась в том, что моя система не поддерживала «сбой записи», что приводило к добавлению отдельного блока в grub.cfg, по умолчанию таймаут которого равен 30 секундам. Соответствующий код в /etc/grub.d/00_header :

if [ "$recordfail_broken" = 1 ]; then
  cat << EOF
if lsefi; then
  set timeout=${GRUB_RECORDFAIL_TIMEOUT:-30}
  if [ x\$feature_timeout_style = xy ] ; then
    set timeout_style=menu
  fi
fi
EOF

Исправление состоит в том, чтобы просто добавить значение для GRUB_RECORDFAIL_TIMEOUT в / etc / default / grub ] и снова запустите update-grub . Например:

GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""

# Adjusted timeout for system which doesn't support recordfail
GRUB_RECORDFAIL_TIMEOUT=2

# 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"
10
ответ дан 23 November 2019 в 03:55

Решение - добавить

GRUB_RECORDFAIL_TIMEOUT=0

- / etc / default / grub .

Все остальные решения будут сброшены при обновлении grub.

-1
ответ дан 5 January 2021 в 22:11

Мы можем просто добавить строку

set timeout=0

в /etc/grub.d/40_custom , сделать файл исполняемым с помощью

chmod +x /etc/grub.d/40_custom

и запустить

sudo update-grub

для генерации новый /boot/grub/grub.cfg -файл. Команда установить тайм-аут , которую мы добавили, является последней командой установить тайм-аут в /boot/grub/grub.cfg сейчас, это то, что имеет значение. ]

0
ответ дан 5 January 2021 в 22:11

Такое поведение наблюдается как в Ubuntu 18.04, так и в 20.04, и даже несмотря на то, что в некоторых других ответах решения, которые работают должным образом, либо файлы, в заголовке которых указано «не редактировать этот файл», например /boot/grub/grub.cfg , редактируются вручную, либо изменения не сохраняются после системные обновления или регенерация файлов конфигурации grub (по крайней мере, не для меня). Вот пошаговое описание того, что я делал для постоянного изменения такого поведения.

Шаг 1. Измените файл шаблона /etc/grub.d/30_os-prober

Grub использует некоторые файлы шаблонов, расположенные по адресу /etc/grub.d , для создания /boot/grub/grub.cfg . Отредактируйте файл в любом редакторе ...

# vim /etc/grub.d/30_os-prober

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

if [ "\${timeout}" = 0 ]; then
  set timeout=10
fi

Шаг 2 - Измените файл / etc / default / grub

Grub использует этот файл для установки значений конфигурации для создания /boot/grub/grub.cfg . Отредактируйте файл с помощью выбранного редактора ...

# vim /etc/default/grub

... и установите нулевое время ожидания (используйте второй вариант, если для GRUB_TIMEOUT_STYLE установлено значение скрыто )

GRUB_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT=0

Шаг 3. Создайте файл /boot/grub/grub.cfg

# update-grub2

... и после следующей перезагрузки компьютера ожидаемое поведение будет иметь нулевой таймаут в меню grub.

1
ответ дан 5 January 2021 в 22:11

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

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