Questão Como o computador sabe que o PC não foi desligado corretamente?


Na verdade, essa questão me surpreendeu por causa dos cortes de energia em minha casa. Quando há um corte de energia, há uma súbita perda de energia do computador.

Como o computador sabe que o desligamento não foi feito corretamente?


92


origem




Respostas:


O Windows também usa o Parte suja método para detectar se o PC foi desligado corretamente:

Quando desligado normalmente, o bit é desligado. No entanto, em caso de falta de energia ou desligamento inadequado (forçado), o bit ainda estará na próxima vez que o computador for iniciado.

Isso significa que o Windows pode sugerir ações corretivas, como a inicialização no modo de segurança.

Além disso, um PC baseado no Windows gravará uma entrada no log de eventos detalhando quando e por que (se conhecido) foi encerrado. Ele também grava um evento quando o PC é inicializado.

System shut down

System start up

Quando o PC reinicia, pode verificar o log de eventos e, se não encontrar um "evento de desligamento" após o último evento de "inicialização", ele sabe que o computador não foi desligado corretamente pode ser problemas devido a dados não salvos etc.


103



A resposta de Davi não é mais precisa? Eu pensei que o NTFS tinha um 'bit sujo' que o FS detecta quando montado. Eu sempre assumi que o log de eventos é apenas um log do que é encontrado, em vez da detecção e raciocínio reais por trás dele? - HaydnWVN
@HaydnWVN - Com as edições do Windows Server quando você desligar, você tem que digitar um motivo, então eu pensei que ele usava isso, mas ele poderia usar o log de eventos como um backup para o bit sujo. Vou ter que fazer mais algumas escavações. - ChrisF
Mas, em uma situação de desligamento não planejada (sem UPS, obviamente), o desligamento seria "inesperado" (mencionado pelo log de eventos). Ótima informação aquiIf a program initiates an I/O operation that alters the structure of an NTFS volume - that is, changes the directory structure, extends a file, allocates space for a new file, and so on - NTFS treats that operation as an atomic transaction. It guarantees that the transaction is either completed or, if the system fails while executing the transaction, rolled back. - HaydnWVN
@HaydnWVN O bit sujo do sistema de arquivos é usado para identificar uma desmontagem anormal, para que o sistema operacional saiba que o sistema de arquivos pode estar em um estado indeterminado e pode executar um diagnóstico (por exemplo, chkdsk) para identificar possíveis problemas no sistema de arquivos. É por isso que você obtém a caixa de diálogo de reparo às vezes ao conectar unidades USB que não foram removidas corretamente. Em contraste, o termo "bit sujo" significa simplesmente um campo que é definido e desfeito posteriormente quando ocorre o término adequado do tempo de execução do sistema ou do dispositivo. Uma terminação incorreta deixa o conjunto de campo, portanto é reconhecido na próxima inicialização do dispositivo. - Polynomial
@ChrisF Esse requisito pode ser desativado na política de grupo / local. E será ignorado se desligado por meio de algo como o painel de controle de um host da VM. É melhor confiar nos eventos Kernel-General # 12 (desligamento normal) e EventLog # 6002 (o último desligamento foi inesperado). Se fosse um BSOD, deveria haver um BugCheck # 1001 também. (Todos os eventos: fonte #id.) - Richard


Para computadores não baseados em Windows, a detecção geralmente é feita por sistema de arquivos. Quando um sistema de arquivos é montado no modo de leitura / gravação, uma entrada é gravada no sistema de arquivos, marcando-a como suja. Quando o sistema de arquivos é desmontado, é gravada uma entrada marcando-a como limpa. Na inicialização, o sistema operacional verifica se seus sistemas de arquivos principais estão marcados como sujos e, em caso afirmativo, ele sabe que não houve um desligamento normal - pelo menos desses sistemas de arquivos.


123



+1 porque a questão não está perguntando sobre um sistema operacional específico. - Trevor Boyd Smith


No Windows, de acordo com os autores do Windows Internals, 5ª ed., É o bootstat.dat arquivo (localizado por padrão no diretório \ boot da partição do sistema):

O Windows usa um arquivo de status de inicialização ... para registrar o fato de que ele progrediu em vários estágios do ciclo de vida do sistema, incluindo inicialização e desligamento. Isso permite que o Gerenciador de inicialização, o carregador do Windows e a ferramenta Reparo de inicialização detectem o desligamento anormal ou uma falha no desligamento e ofereça às opções de recuperação de diagnóstico e de inicialização do usuário ...


42



Fonte de citação - Paul DelRe
"Windows Internals" por Mark Russinovich e David Solomon com Alex Ionescu, página 1010. - artm


Em alguns computadores, um método independente do sistema operacional pode ser definido no BIOS dos hardwares. Depende do fornecedor do computador e do fornecedor do BIOS.

Os mojors incluem American Megatrends Inc. (AMI), Award e Phoenix Technologies. Olhe para estes fabricantes para detalhes.


0



Em vez de apenas acenar com a mão e dizer "a informação está lá fora", que tal ligar-se a algumas referências relevantes? - G-Man