Tempo de espera do Grub 10 segundos após a edição para “0” em / etc / default / grub?

5

Usando todas as soluções descritas neste site, a configuração do tempo de espera do menu Grub para zero não funciona.

Eu fiz o seguinte:

sudo cp /etc/default/grub /etc/default/grub.old    
sudo gedit /etc/default/grub

Unsmented esta linha, por instrução.

GRUB_HIDDEN_TIMEOUT="0"

Defina esta linha, por instrução.

GRUB_TIMEOUT="0"

/ etc / default / grub agora é assim:

# 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"

Tendo editado o arquivo / etc / default / grub - >

sudo update-grub

Depois de reiniciar, o tempo de espera do Grub ainda está definido para 10 segundos.

Consegui obter o tempo de espera para 1 segundo com apenas uma alteração simples. Editou estas duas linhas em / etc / default / grub

#GRUB_HIDDEN_TIMEOUT="0"

GRUB_TIMEOUT="1"  

Comentou o primeiro de volta ao valor padrão e definiu GRUB_TIMEOUT como "1".

Depois,

sudo update-grub

Esta solução funciona, mas a minha pergunta é:

Onde está a interceptação que redefine o valor de TIMEOUT para 10 segundos quando GRUB-TIMEOUT está definido como "0".

Talvez um dos testes "IF" em grub.cfg ??

    
por RCF 07.06.2015 / 00:31

3 respostas

5

Este é um bug . O problema está no arquivo /etc/grub.d/30_os-prober .

Conforme apresentado aqui , uma solução alternativa é adicionar os arquivos /etc/grub.d/25_pre-os-prober e /etc/grub.d/35_post-os-prober .

Os dois arquivos também devem ser marcados como executáveis para funcionar.

Depois de adicionar esses dois arquivos, suas modificações na variável GRUB_TIMEOUT in /etc/default/grub devem funcionar como esperado.

Se você não tiver uma inicialização dupla, outra alternativa é desinstalar 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
    
por edwin 13.06.2015 / 13:43
2

Se você ler a documentação em info -f grub -n 'Simple configuration' , diz-se que GRUB_HIDDEN_TIMEOUT_* está obsoleto.

Você poderia tentar usar em vez de /etc/default/grub :

GRUB_TIMEOUT=0
GRUB_TIMEOUT_STYLE=hidden
#GRUB_HIDDEN_TIMEOUT="0"
#GRUB_HIDDEN_TIMEOUT_QUIET="true"
# rest of file unchanged

Executar

sudo update-grub

e veja se funciona ou não.

Você pode verificar novamente em /boot/grub/grub.cfg procurando por tempo limite que a atualização foi feita corretamente.

    
por solsTiCe 10.06.2015 / 12:38
0

Eu sempre consegui uma 0 segunda vez, embora um segundo de tempo não seja muito mais tempo perdido. Tente mudar essa linha

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash profile"

para isso:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

Eu não vejo nada neste arquivo de configuração que parece fora de sintonia, mas você pode tentar isso se você está desesperado para economizar 1 segundo durante o tempo de inicialização.

    
por Daniel 10.06.2015 / 21:26