Não é possível obter o menu grub2 para exibir

2

Eu tenho um laptop que pretendo ser de inicialização dupla. Ele foi inicializado anteriormente no Windows (7) e, após a instalação do Linux, é inicializado diretamente no Linux (openSUSE). Eu editei /etc/grub.d/40_custom para adicionar a entrada chainloader do Windows. Até agora tudo bem.

Infelizmente, não consigo fazer com que o grub2 exiba o menu de seleção , , até mesmo para selecionar a entrada do modo de segurança para a instalação do Linux. Eu recebo um flash de fração de segundo da mensagem "welcome to grub" e então ele inicializa diretamente na entrada padrão do Linux.

Coisas que tentei:

  • Definindo GRUB_TIMEOUT como um valor inteiro e GRUB_HIDDEN_TIMEOUT como
    • 0
    • em branco
    • comentou
  • Definindo GRUB_HIDDEN_TIMEOUT_QUIET como "true" e "false"
  • Definindo o GRUB_TERMIAL como "console"
  • Removendo "quiet" e "splash = silent" de GRUB_CMDLINE_LINUX_DEFAULT

Eu estou regenerando a configuração toda vez com / usr / sbin / grub2-mkconfig

Outras informações:

  • Manter o turno durante a inicialização não traz o menu, independentemente do estado de GRUB_HIDDEN_TIMEOUT
  • Tenho certeza que esta máquina não está usando UEFI (não tenho diretório / sys / firmware / efi)
  • O suporte USB legado está ativado no BIOS.

Mais alguma coisa que eu possa tentar? Isso está ficando muito agravante, eu nunca tive tanto problema com o legado do grub!

Editar:

Seção do grub.cfg relacionada ao tempo limite:

if [ x${boot_once} = xtrue]; then
    set timeout=0  
elif [ x$feature_timeout_style = xy ]; then  
    set timeout_style=menu  
    set timeout=0  
# Fallback normal timeout code in case the timeout_style feature is unavailable
else  
    set timeout=0  
fi

Isso é diferente da saída exibida pelo script de atualização do grub, que tem "timeout = 10"! A edição do arquivo grub.cfg exibe diretamente o menu conforme o esperado.

    
por jam 26.06.2017 / 11:11

1 resposta

5

Essas linhas existem no seu /etc/default/grub ? Se não, adicione-os.

GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=menu

execute update-grub para atualizar /boot/grub/grub.cfg

Você pode verificar se as mudanças necessárias ocorreram dessa maneira:% grep -i timeout /boot/grub/grub.cfg

A saída deve conter tais valores:

set timeout_style=menu
set timeout=10

No manual do grub :

GRUB_TIMEOUT

Boot the default entry this many seconds after the menu is displayed, unless a key is pressed. The default is 5. Set to 0 to boot immediately without displaying the menu, or to -1 to wait indefinitely. If GRUB_TIMEOUT_STYLE is set to countdown or hidden, the timeout is instead counted before the menu is displayed.

GRUB_TIMEOUT_STYLE

If this option is unset or set to menu, then GRUB will display the menu and then wait for the timeout set by GRUB_TIMEOUT to expire before booting the default entry. Pressing a key interrupts the timeout. If this option is set to countdown or hidden, then, before displaying the menu, GRUB will wait for the timeout set by GRUB_TIMEOUT to expire. If ESC is pressed during that time, it will display the menu and wait for input. If a hotkey associated with a menu entry is pressed, it will boot the associated menu entry immediately. If the timeout expires before either of these happens, it will boot the default entry. In the countdown case, it will show a one-line indication of the remaining time.

    
por 27.06.2017 / 00:26