Como posso fazer com que o meu menu GRUB fique oculto, E que as teclas shift ou esc mostrem o menu escondido do GRUB no momento da inicialização

9

Estou executando o Ubuntu 16.10, e estou tentando ocultar meu menu do GRUB ao ligar / tempo de inicialização e desejo que o menu apareça apenas quando eu pressionar a tecla Shift ou Chaves Esc .

Altero as opções apropriadas em /etc/default/grub e ainda não ocultarei o menu.

Ao pesquisar isso, encontrei este post de 2013 O menu oculto do GRUB não funciona Isso indica que o problema já existe há algum tempo e sugere uma mudança para /etc/grub.d/30_os-prober , o que eu prefiro não fazer. Esse código sugere que, desde que ele encontrou vários sistemas operacionais, ele vai definir GRUB_TIMEOUT=10 mesmo assim.

Aqui está um trecho do que eu tenho agora em /etc/default/grub ... um menu com uma contagem regressiva de 10 segundos ...

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
GRUB_HIDDEN_TIMEOUT_QUIET=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR='lsb_release -i -s 2> /dev/null || echo Debian'
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

Se eu remover o comentário de #GRUB_HIDDEN_TIMEOUT=0 , então sudo update-grub insiste que eu também defina GRUB_TIMEOUT=10 para GRUB_TIMEOUT=0 . Eu faço isso e ainda vejo o menu do GRUB.

Em terminal , digitar info -f grub -n 'Simple configuration' descreve as várias opções e, no final das informações, mostra que alguns dos comandos atuais foram depreciados e sugere que as substituições mais recentes sejam melhores.

Alguém sabe como posso fazer com que meu menu GRUB se esconda em 16.10 E ele reconhece as teclas Shift ou Esc no momento da inicialização?

    
por heynnema 04.02.2017 / 20:45

3 respostas

4

OK pessoal, aqui vai a resposta ... para obter um menu escondido do GRUB em configurações de inicialização dupla ... duas edições ... e um sudo update-grub ...

Editar # 1

Para obter um menu do GRUB oculto em uma configuração de inicialização múltipla, primeiro precisamos editar /etc/default/grub . Abra este arquivo usando o comando abaixo:

sudo editor /etc/default/grub

Quando o arquivo estiver aberto, substitua essas linhas

GRUB_HIDDEN_TIMEOUT_QUIET=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=10

com estes:

GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT_STYLE=countdown
#GRUB_HIDDEN_TIMEOUT=0
GRUB_TIMEOUT=3

Isso fará com que o GRUB exiba um temporizador de contagem regressiva de 3 segundos na tela. Ao fazer isso, um usuário pode pressionar a tecla Esc para abrir o menu padrão. Caso contrário, o sistema operacional padrão será inicializado.

Se você deseja que o sistema operacional padrão seja definido para o último sistema operacional, adicione as duas linhas abaixo sob o "GRUB_TIMEOUT = 3" mostrado acima:

GRUB_DEFAULT=saved    # change an existing line to this
GRUB_SAVEDEFAULT=true # add this line

Editar # 2

Em seguida, o prober do SO precisa ser atualizado para desativar o recurso quickboot. Para fazer isso, abra /etc/grub.d/30_os-prober em seu editor favorito e altere a linha abaixo (linha 23 em 17.04) substituindo o 1 por um 0 :

quick_boot="1"

Quando terminar, a linha deve ser lida como:

quick_boot="0"

Salve os arquivos e, em seguida, execute o comando abaixo para reconfigurar o carregador de inicialização e aplicar suas alterações:

sudo update-grub
    
por heynnema 11.02.2017 / 15:23
4
  1. Eu acho que você quer tentar "tudo" disponível via /etc/default/grub . Você leu este link,

    help.ubuntu.com/community/Grub2/Setup#Configuring_GRUB_2

  2. Sugiro que você tente remover as seguintes linhas de /boot/grub/grub.cfg

    ...
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
      set timeout=10
    fi
    ### END /etc/grub.d/30_os-prober ###
    

    Sim, eu sei, você teria que fazer isso sempre que update-grub fosse executado, mas você pode criar um script para isso.

por sudodus 07.02.2017 / 21:49
3

Eu acredito que este problema pode ser devido a vários sistemas operacionais de acordo com este trecho de Wiki do Grub2 :

Se nenhum outro sistema operacional for detectado, o GRUB 2 inicializará diretamente no sistema operacional padrão e nenhum menu será exibido. Se outro sistema operacional for detectado, o menu GRUB 2 será exibido.

AND

Salvar um sistema operacional pode ser obtido executando sudo grub-set-default se GRUB_DEFAULT = salvo estiver configurado em / etc / default / grub. Ele também pode ser salvo se GRUB_SAVEDEFAULT = true também estiver configurado em / etc / default / grub. Neste caso, o SO padrão permanece até que um novo sistema operacional seja selecionado manualmente a partir do menu do GRUB 2 ou o comando grub-set-default seja executado.

O Wiki do Grub2 também declara: Nota: Há um bug confirmado de longa data no recurso de menu oculto no GRUB 1.97 para o GRUB 1.99. O menu pode não se esconder conforme especificado na descrição desta página. Embora a edição do script 30_os-prober possa corrigir esse problema, ele está além do escopo desta página.

Como solução, você pode definir o GRUB_TIMEOUT="1" e só verá o menu por 1 segundo. Se eu precisar mudar para outro sistema operacional, simplesmente pressiono a tecla de seta para baixo dentro desse segundo e o menu aparecerá até que eu faça uma escolha.

Pode haver um possível problema de sintaxe associado ao bug. Eu não sou um especialista no Grub2 mas no meu arquivo grub toda linha de comando termina com ="algumas configurações citadas" eu lembro dos meus dias de codificação que "aspas" deviam passar uma string onde valores numéricos simples para as variáveis. Eu não estou UP em novas técnicas de código. por exemplo. Aqui está um pouco da saída do meu 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="Ubuntu"
#GRUB_HIDDEN_TIMEOUT="0"
GRUB_HIDDEN_TIMEOUT_QUIET="true"
GRUB_TIMEOUT="1"
GRUB_DISTRIBUTOR="'lsb_release -i -s 2> /dev/null || echo Debian'"
GRUB_CMDLINE_LINUX_DEFAULT=""
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"

Eu estou olhando para este Grubbug :) para mais informações, bem como Este bug Ambos estão relacionados com o <2G> 2 anos de idade do Grub2. Algumas delas podem estar relacionadas ao código MBR antes do handoff para o Grub2

    
por xtrchessreal 07.02.2017 / 01:19

Tags