Software reinicialização a frio

3

Eu estou achando que grub-reboot funciona apenas em uma reinicialização a frio (desligamento e inicialização manual), mas não em um simples reboot ou shutdown -r . Com esses comandos usuais de reinicialização, o Ubuntu 16.04 ocasionalmente mostra algumas Clearing orphaned inode mensagens e, em seguida, retorna imediatamente para Started new Kernel Device Manager (com as mensagens de desligamento e inicialização frequentemente intercaladas). Eu nunca vejo a tela do GRUB2 e, o mais importante, eu nunca sou iniciado na minha entrada alternativa no grub.

OTOH, se eu desligar e depois ligar manualmente a máquina, vejo que grub-reboot de fato marcou a opção temporária correta (não a que acabei de deixar).

Como o ponto inteiro de grub-reboot , para mim, é trocar o sistema operacional remotamente, essa não é uma boa opção.

Como posso reiniciar e ver o GRUB?

    
por tsbertalan 07.11.2017 / 15:31

1 resposta

1

O sistema em questão está configurado para o kexec, por isso nunca vai tão longe quanto o bootloader ou o firmware.

A idéia geral por trás do kexec é evitar os tempos insanos de POST vistos em muitos hardwares de servidores para reduzir o tempo de inatividade quando você precisa atualizar seu kernel. Ele tem alguns outros usos legais também (é usado em algumas distribuições para lidar com despejos de memória e pode até mesmo ser usado para alternar entre executar o Linux diretamente no hardware e executá-lo dentro do hypervisor Xen).

Existem duas opções para lidar com isso.

  1. Descobrir como desabilitar corretamente o kexec (seja desabilitando o script init que está carregando o novo kernel, ou desinstalando o comando kexec que deve estar em um pacote chamado kexec-tools no Ubuntu). Infelizmente, isso é bastante específico do sistema, e eu não tenho idéia de como o Ubuntu lida com o kexec atualmente, então não posso dar muitos conselhos aqui.

  2. Descarregue manualmente o kernel kexec antes de emitir o comando reboot executando o comando kexec -u as root. Isso só funcionará se o carregamento for feito durante a inicialização ou ao instalar um novo pacote do kernel (embora eu pense que é assim que o Ubuntu lida com isso, não tenho certeza). Alternativamente, se estiver usando systemd, chamar systemctl reboot ao invés de apenas reboot pode ignorar o uso de um kernel kexec, mas não tenho certeza disso.

por 07.11.2017 / 21:30

Tags