Eu tenho o Ubuntu 10.10 Server instalado em uma máquina de placa única em um ambiente semi-incorporado; sem teclado ou tela, apenas acesso SSH a ele.
Portanto, é realmente frustrante quando ocasionalmente é inicializado e fica preso no menu GRUB, aguardando o pressionamento de tecla para selecionar a primeira opção.
Como eu configuro o GRUB para, em nenhuma circunstância, esperar por um pressionamento de tecla?
Atualização # 1: Não existe menu.lst, pois esse é o GRUB 2. Mas eu tenho um / etc / default / grub que é assim:
GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""
Atualização # 2: Eu descobri. Nas botas que seguem botas malsucedidas, o GRUB desativa seu próprio tempo limite. Como a exibição do menu torna a inicialização malsucedida, esse é um loop inevitável. Esse comportamento pode ser desativado editando o arquivo /etc/grub.d/00_header e alterando a função make_timeout:
make_timeout ()
{
echo "set timeout=0"
}
Agora saia e execute novamente o script atualizador de configuração do grub:
sudo update-grub2
Não faz sentido para mim que esse comportamento seja o padrão para o Ubuntu Server, um produto destinado a máquinas acessadas pelo console.
/boot/grub/menu.lst
aparência?Respostas:
Para o Ubuntu 12.04 LTS, há uma opção específica que pode ser configurada
/etc/default/grub
.Por exemplo, se você deseja ter um tempo limite de 2 segundos (evitando travamentos para reinicializações autônomas), adicione a seguinte linha
/etc/default/grub
:Lembre-se de correr
update-grub
atrás disso ...fonte
Aqui estão as instruções para o Ubuntu 10.10, que são um pouco diferentes das versões anteriores. No arquivo /etc/grub.d/00_header, comente a verificação estúpida de uma falha de inicialização anterior:
Atualize:
Esteja ciente de que, se houver uma segunda unidade com o Linux conectado, o grub2 a encontrará e perguntará na inicialização qual você deseja. Remova todas as unidades extras antes de executar o "update-grub".
Veja também https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/797544
fonte
Me deparei com essa supervisão de design profundamente desagradável com o Ubuntu Server 9.10. Sua correção me ajudou enormemente. Eu só queria salientar que a correção necessária para a 9.10 é diferente, pois não há função "make_timeout ()" no mesmo arquivo.
Para o Ubuntu 9.10, vá para o final do mesmo arquivo (00_header) e altere o seguinte:
para
Como antes, execute:
fonte
Configure o GRUB para acesso serial (e seu carregador de inicialização, enquanto você estiver nele) e mantenha uma porta serial aberta, cabo de modem nulo e conversor de USB para RS232 à mão para essas instâncias. Eu corro um servidor sem cabeça e um Guruplug e não teria isso de outra maneira.
fonte
Acabei de definir um longo tempo limite para recordfail:
Isso significa que você terá 30 segundos de tempo limite ao inicializar, se a inicialização anterior falhar. (Não muito diferente do que esse outro sistema operacional faz ...)
Isso poderia (e o IMHO deveria) até ser uma configuração ali no / etc / default / grub.
fonte
Realmente não sei por que essa é a ação padrão, especialmente para um servidor, mas foi isso que eu implementei nos meus scripts de configuração do servidor.
fonte
Essa abordagem é um pouco mais limpa - basta modificar
/etc/default/grub
para adicionar a linha:... o que alguém pode fazer automaticamente com algo assim no provisionamento:
Isso deve ser viável se a variável GRUB_RECORDFAIL_TIMEOUT for mencionada
/etc/grub.d/00_header
(como estou vendo no 12.04 LTS) em:Estou um pouco curioso para saber se descobrir como as falhas são registradas pode resultar em uma resposta ainda melhor.
fonte