É reboot -f uma maneira segura de reinicializar a frio?

1

Na máquina em que estou atualmente, sudo reboot só me dará uma reinicialização a quente.

O sudo reboot -f é uma maneira segura de fazer uma reinicialização cold (através do BIOS)?

Eu estou inicializando através do MBR, não do EFI e estou usando o upstart (Linux Mint 17.3 (base off do Ubuntu 14.04)).

Parece um pouco rápido demais, então estou um pouco preocupado se isso não corromperá meu sistema de arquivos.

    
por PSkocik 27.07.2018 / 18:48

2 respostas

1

O ponto de reboot -f é ignorar todas as etapas de desligamento executadas pelo sistema init em situações em que essas etapas falham ou se espera que falhem :-). Eu recomendo strongmente contra usá-lo fora desse caso.

Você estaria correto em assumir que a desmontagem dos sistemas de arquivos de maneira ordenada é uma dessas etapas em upstart .

( systemd seria uma bola de cera totalmente diferente, e os efeitos podem variar ... Qual é outra razão pela qual você deve ser cauteloso em cutucar reboot -f . É um detalhe bastante obscuro, e claramente você não encontre qualquer conexão documentada entre ela e o efeito observado por você.

AFAICT, o comentário em man 2 reboot que se refere ao kernel 2.1.122 e a arquitetura antiga do i386 permanece verdadeiro. Pelo menos a partir do kernel v4.17, e a nova arquitetura x86 unificada para 32 e 64 bits.

O objetivo do kernel para uma reinicialização a quente ou a frio é determinado por reboot_mode . E o lugar somente está definido, é pela opção do kernel reboot= , e. reboot=cold .

Como você se preocupa com isso e o padrão não parece ser documentado, o primeiro passo ingênuo seria tentar especificar isso. Isso parece uma opção de inicialização pura, que não pode ser alterada em um sistema em execução.

link

link

link

Se você olhar o último link, uma possibilidade teórica é que um dos tipos de reinicialização na cadeia de fallback não funcionou, depois que todos os outros scripts upstart init foram parados ( ou vice-versa??). Assim, invocar reboot -f manualmente usa um tipo de reinicialização diferente e isso varia em como ele respeita reboot_mode . (No seu sistema específico?).

Se você conseguir relatar uma diferença entre o comportamento de reinicialização do Linux e do Windows, os desenvolvedores do kernel podem estar interessados. Embora eles estivessem mais interessados se o Linux estivesse falhando completamente com a reinicialização :). Eu gostaria de confirmar a suposição original acima, recompilando com algumas chamadas de printk () e sleep e descobrir quais tipos de reinicialização reais estão sendo usados ...

Existe também a possibilidade de passar os diferentes tipos de reinicialização na opção de inicialização. Parece que você estaria fazendo um palpite indireto ... mas parece que passar por uma opção de reinicialização específica é a melhor esperança, a menos que esse trecho de código do kernel ganhe alguma correção inteligente para o seu sistema.

    
por 27.07.2018 / 22:40
0

AFAIK reboot -f é um comando que foi usado em sistemas mais antigos. Eu não usaria isso.
Um método mais seguro seria sudo shutdown -r now . A alternativa para desligar a máquina é sudo shutdown -P now . Em ambos os casos, now pode ser substituído por um valor numérico para definir o horário em que o encerramento será iniciado.

Veja shutdown (8) documentação completa.

    
por 04.12.2018 / 10:01

Tags