Tentei atualizar meu arquivo de configuração do grub para atingir o tempo limite para 0, para que o sistema operacional inicie rapidamente. Modifiquei o /etc/default/grub
arquivo de configuração no meu Ubuntu 18.04 e depois executei:
sudo update-grub
e não funcionou. Eu também corri:
sudo grub-mkconfig
sudo update-grub
mas eles não funcionaram.
Pesquisei bastante na web para resolver esse problema, mas todos os guias dizem para executar o comando update-grub para atualizar o grub pelo /etc/default/grub
arquivo de configuração. Não sei se o Ubuntu 18.04 lida com arquivos grub de uma maneira diferente, mas não consigo atualizar meu grub com meus parâmetros.
Este é o meu /etc/default/grub
arquivo:
# 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"
Respostas:
No
/boot/grub/grub.cfg
arquivo, existe uma condição, quase no final do arquivo, que define o tempo limite como 10 se o tempo limite estiver definido como 0. Em outras palavras, se você definir o tempo limite como 0 no seu/etc/default/grub
e depois atualizar o grub, a condição acima redefina-o para 10 segundos.No entanto,
/boot/grub/grub.cfg
é um arquivo somente leitura e não consigo remover essa condição. Fiz alguns testes com valores diferentes do tempo limite em/etc/default/grub
. Tentei com 1ms (0,001), 0,1s e 1s e descobri que valores abaixo de 1 (como 0,1 e 0,001) funcionam da mesma maneira e quase como o tempo limite definido como 0.fonte
work in the same way and almost like timeout
isso porque a matemática no bash suporta apenas números inteiros. O menor tempo limite que faria diferença é1
.No meu caso, o problema era que meu sistema não suportava "recordfail", o que fazia com que um bloco separado fosse adicionado ao grub.cfg, cujo tempo limite era de 30 segundos. O código relevante em
/etc/grub.d/00_header
:A correção é simplesmente adicionar um valor para
GRUB_RECORDFAIL_TIMEOUT
in/etc/default/grub
e executarupdate-grub
novamente. Por exemplo:fonte
Como as outras respostas dizem, descomente
GRUB_HIDDEN_TIMEOUT
e corraupdate-grub
. Então comente oseção em
/boot/grub/grub.cfg
. No vim, você pode simplesmente substituir a propriedade somente leitura por um ponto de exclamação:x!
. Ou você pode correrter permissão de gravação temporariamente ao editar o arquivo.
fonte
/boot/grub/grub.cfg
será recriado com a condição acima.Você pode definir
GRUB_TIMEOUT
para0
.O valor do tempo limite de substituição da peça está escrito na
ajust_timeout
função na parte superior de/etc/grub.d/30_os-prober
.Portanto, você pode definir o valor editando o arquivo e comente o if-block.
fonte
Você pode definir
GRUB_TIMEOUT
para-1
.fonte
info -f grub -n 'Simple configuration
Remova o comentário
GRUB_HIDDEN_TIMEOUT=0
e executeupdate-grub
novamente.fonte
GRUB_HIDDEN_TIMEOUT=-1
trabalhou no Ubuntu 18.10.Podemos simplesmente adicionar a linha
para
/etc/grub.d/40_custom
, tornar o arquivo executável come corra
para gerar o novo
/boot/grub/grub.cfg
arquivo. Oset timeout
comando que adicionamos é o últimoset timeout
comando/boot/grub/grub.cfg
agora, é isso que conta.fonte
A solução é adicionar
para
/etc/default/grub
.Todas as outras soluções serão redefinidas nas atualizações do grub.
fonte