A Wikipedia faz a diferença entre reinicialização a frio e a quente .
Então, ao usar o reboot
comando no Linux, como escolher entre reinicialização a quente e a frio?
Editar: a Wikipedia menciona um terceiro modo de reinicialização no Linux. Então, como escolher entre esses três modos?
No x86, existem muitos outros tipos de reinicialização e, no Linux, você pode escolher entre eles usando o
reboot
parâmetro de linha de comando do kernel ou/sys/kernel/reboot/mode
e/sys/kernel/reboot/type
.reboot=cold
ereboot=warm
selecionará respectivamente reinicializações a frio e a quente (correspondendo às definições da Wikipedia); outros tipos incluem ACPI, EFI e falha tripla.Uma
kexec
“reinicialização” pode ser invocada executandosystemctl kexec
.Não da maneira que você deseja. Você está fazendo e pretende fazer uma reinicialização a quente.
Observe que qualquer artigo que descreva o que acontece no seu PC e que se refira ao IBM PC é muito provavelmente tecnicamente impreciso neste momento .
Neste caso, é exatamente esse o caso. A situação do IBM PC tem muito pouco a ver com o que acontece agora (o IBM PC tem 42 anos). Os computadores têm firmware em execução contínua pelo menos desde o advento do ATX, há quase 30 anos. Então, basicamente, ignore o que está escrito lá em termos dos componentes envolvidos:
O firmware do seu computador (que é muito diferente do BIOS, que na verdade é uma API obsoleta, não o software que a implementa, e muitos firmwares nem emulam mais o BIOS, então esse artigo é super impreciso em sua redação) é claro que faz alguma coisa por conta própria. -test, não importa se você inicializa "desligado" ou reinicia por meio de software.
Então, ignore esse artigo da Wikipedia. Você pode ver os diferentes tipos de métodos que iniciam uma reinicialização no x86 na fonte Linux ; observe que o método não pode realmente forçar o firmware a fazer algo diferente!
O que acontece em um PC quando o Linux é instruído a reiniciar é que todos os serviços são interrompidos, os sistemas de arquivos são desmontados e o hardware é desinicializado, tanto quanto possível, e então o firmware da sua placa-mãe é informado via ACPI que deve fazer uma inicialização.
O que ele faz depende totalmente do firmware. Ainda não vi nenhuma diferença, no entanto, no que ele faz na inicialização normal. Geralmente, ele nem pula as verificações de memória demoradas!
O chamado “terceiro método”
kexec
é realmente diferente. Mas geralmente você não pode “selecionar” esse método, a menos que realmente saiba o que está fazendo – isso geralmente é feito durante processos de inicialização em vários estágios.O que acontece é que ele
kexec
copia uma nova imagem do kernel na RAM, define os registros e o hardware necessário e salta para o ponto de entrada do novo kernel – algo que de outra forma o seu bootloader (GRUB) ou a implementação UEFI do seu firmware fariam.