Parece que é um problema de hardware, e nada relacionado a software. Tente desligar o adaptador de energia e remova a bateria do laptop, conecte-a após alguns segundos e tente inicializar.
Existem algumas máquinas nas quais o Linux irá congelar, após o reinício ou o comando de encerramento, bem no final do processo, forçando-o a fazer um hard reset - pressione o botão reset / power no sistema ou conecte o cabo que não é bom. Neste post, veremos como você pode resolver quase 99% do congelamento / travamento que ocorre durante o desligamento ou reinicialização.
Por que isso acontece
Existem muitas razões pelas quais isso acontece - algumas vezes é um problema de BIOS ou às vezes é apenas que seu sistema tem um tipo diferente de configuração de hardware, por exemplo, sem controlador de teclado e Linux (o kernel) não entende como enfrentar essa situação. Na maioria das vezes, se for um problema de BIOS, não é muito fácil pedir ao seu fornecedor de sistema que lhe forneça uma correção imediata do BIOS, o que resolverá o problema e, portanto, você precisará contar com alguns parâmetros do kernel corrija o problema de travar / congelar.
Digamos que você tenha comprado uma nova máquina e observe que a distribuição do Linux está paralisada no final do processo de reinicialização / desligamento, ao fornecer um dos seguintes comandos:
# shutdown -r now
# shutdown -h now
# reboot
# halt
# poweroff
# Ctrl+Alt+Del
Solução
Para corrigir o problema, você deve tentar passar um por um o seguinte parâmetro para o kernel, na forma de reboot=<parameter>
, no momento da inicialização:
warm = Don’t set the cold reboot flag
cold = Set the cold reboot flag
bios = Reboot by jumping through the BIOS (only for X86_32)*
smp = Reboot by executing reset on BSP or other CPU (only for X86_32)
triple = Force a triple fault (init)
kbd = Use the keyboard controller. cold reset (default)
acpi = Use the RESET_REG in the FADT*
efi = Use efi reset_system runtime service
pci = Use the so-called “PCI reset register”, CF9
force = Avoid anything that could hang.
De acordo com minha experiência, um dos parâmetros (com o asterisco acima) deve ser capaz de resolver seu problema de suspensão (ou congelamento) 90% do tempo: reboot=bios
ou reboot=acpi
.
Uma vez que o seu sistema inicialize, você pode verificar se o parâmetro foi passado corretamente ou não, emitindo o seguinte comando:
cat /proc/cmdline
Saída:
root=/dev/sda ro vga=791 quiet reboot=bios
Você pode encontrar a lista de todos os parâmetros acima no arquivo reboot.c na fonte do kernel Linux.
Por padrão, o kernel Linux usa o método reboot = kbd, ou seja, ele tenta procurar por um controlador de teclado e emitir um comando reset / shutdown para ele. Mas existem alguns sistemas, como algumas das máquinas baseadas no processador Intel Atom, que não possuem um controlador de teclado e as correções acima são necessárias. Se você ler atentamente o arquivo reboot.c, existem algumas das principais máquinas de fluxo principal da Dell, Sony, HP, etc. que exigem a correção "reboot=" acima. Eu acho que em algum momento é mais fácil corrigir o problema usando o parâmetro do kernel ao invés de consertar no BIOS.
Além disso, você também pode usar a primeira letra (como indicado nos colchetes "[]") de cada parâmetro:
reboot=b # for reboot=[b]ios
reboot=a # for reboot=[a]cpi
e você pode passar vários parâmetros ao mesmo tempo e o kernel do Linux tentará na ordem especificada:
reboot=a,b,k,c # for reboot=acpi,bios,kbd,cold
O crédito vai para Kushal Koolwal .