Além do que Delan sugeriu, em geral você certamente deve tentar valores diferentes para o reboot=
parâmetro de inicialização; Eu sugeriria reboot=b
em particular, já que é o mais comum para as máquinas precisarem. Aqui está o comentário de linux / arch / x86 / kernel / reboot.c com os possíveis valores:
/* reboot=b[ios] | s[mp] | t[riple] | k[bd] | e[fi] [, [w]arm | [c]old] | p[ci]
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.
*/
O kernel possui várias chamadas "peculiaridades" para máquinas específicas que exigem o método de reinicialização do BIOS, mas, como qualquer banco de dados de peculiaridades de hardware, as chances são de que faltem algumas. Seu computador pode ser um dos que estão faltando. Se você achar que reboot=b
isso corrige isso consistentemente para você, execute o 'ubuntu-bug linux' para relatar um bug do kernel solicitando que este seja o padrão para sua máquina.
Você pode fazer essa alteração na linha de comando do GRUB (pressione 'e' na entrada de inicialização relevante e vá para o final da linux
linha) ou, para torná-la permanente, edite /etc/default/grub
e altere a GRUB_CMDLINE_LINUX
linha, tomando cuidado para colocar reboot=b
(ou o que for) dentro das aspas.