コンピューターは、PCが適切にシャットダウンされなかったことをどのように知るのですか?


92

実際、この質問は私の家の停電のために私を襲った。停電が発生すると、コンピューターの電源が突然失われます。

シャットダウンが適切に行われなかったことをコンピューターはどのように知るのですか?

回答:


104

Windowsはまた、ダーティビットメソッドを使用して、PCが適切にシャットダウンされたかどうかを検出します。

通常どおり電源を切ると、ビットはオフになります。ただし、停電または不適切な(強制的な)シャットダウンの場合、ビットはPCの次回起動時に引き続きオンになります。

これは、Windowsが修復モード(セーフモードでの起動など)を提案できることを意味します。

さらに、WindowsベースのPCは、イベントログにエントリを書き込み、いつ、なぜ(既知の場合)シャットダウンされたかを詳述します。また、PCの起動時にイベントを書き込みます。

システムのシャットダウン

システム起動

PCを再起動すると、イベントログを確認でき、最後の「起動」イベントの後に「シャットダウンイベント」が見つからない場合、PCが適切にシャットダウンされず、保存されていないために問題がある可能性がありますデータなど


2
以下のデイビッドの答えはより正確ではありませんか?NTFSには、マウント時にFSが検出する「ダーティビット」があると思いました。私は常に、イベントログは、実際の検出とその背後にある推論ではなく、発見されたもののログにすぎないと想定しています。
ハイドンWVN

3
しかし、計画外の電源オフの状況(明らかにUPSがない場合)では、シャットダウンは「予期しない」ものになります(イベントログで言及)。ここで素晴らしい情報If 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.
ハイドンWVN

3
@HaydnWVNファイルシステムのダーティビットは、異常なマウント解除を識別するために使用されます。これにより、OSは、ファイルシステムが不確定な状態にあることchkdskを認識し、診断を実行してファイルシステムの潜在的な問題を識別できます。これが、正しく削除されなかったUSBドライブを差し込むと、修復ダイアログが表示されることがある理由です。対照的に、「ダーティビット」という用語は単に設定されるフィールドを意味し、システムまたはデバイスランタイムの適切な終了が発生したときに設定解除されます。不適切な終了はフィールドセットを離れるため、デバイスの次の初期化時に認識されます。
多項式

1
@ChrisFその要件は、グループ/ローカルポリシーでオフに切り替えることができます。VMホストのコントロールパネルなどを使用してオフにすると、バイパスされます。イベントKernel-General#12(通常のシャットダウン)およびEventLog#6002(最後のシャットダウンは予期していなかった)に依存する方が良い。BSODの場合、BugCheck#1001も必要です。(すべてのイベント:ソース#id。)
リチャード

1
まず、電源を入れ直した後、そのビットの状態は揮発性メモリでどのように維持されますか?デュアルブートはどうですか?ウィキペディアの引用は推測のように読みます-私はそれが参照するオペレーティングシステムの概念の本を読んでいませんが。第二に、Windowsがイベントログを読み取ってクリーンシャットダウンが発生したかどうかを判断するという考え方は明らかに間違っています。Windows用のbootstat.datを指す答えは、これらの推測のいずれよりもはるかに正しい可能性があります。これは、より理にかなっていることもありますが、主に引用されたソースが原因です。

121

Windowsベース以外のPCの場合、検出は通常、ファイルシステムごとに行われます。ファイルシステムが読み取り/書き込みモードでマウントされると、ファイルシステムにエントリが書き込まれ、ダーティとマークされます。ファイルシステムがアンマウントされると、エントリが書き込まれてクリーンになります。起動時に、オペレーティングシステムは、コアファイルシステムにダーティマークが付けられているかどうかを確認し、汚れている場合は、少なくともそれらのファイルシステムのうち、クリーンシャットダウンがなかったことを認識します。


29
+1は、質問が特定のOSについて質問していないためです。
トレバーボイドスミス

42

Windowsでは、Windows Internals、5th ed。の作者によれば、bootstat.datファイル(デフォルトではシステムパーティションの\ bootディレクトリにあります)です。

Windowsは、ブートステータスファイルを使用して、ブートやシャットダウンなど、システムライフサイクルのさまざまな段階を経て進行したという事実を記録します。これにより、ブートマネージャー、Windowsローダー、およびスタートアップ修復ツールが異常なシャットダウンまたは正常なシャットダウンの失敗を検出し、ユーザー回復と診断ブートオプションを提供します...

 


3
引用元?
ポールDelRe

23
「Windows Internals」、Mark Russinovich、David Solomon、Alex Ionescu、ページ
1010。– artm

これをChrisFの答えと対比するために、各ファイルシステムによって維持される「ダーティビット」は、そのファイルシステムの状態のみを対象としています。システム全体ではありません。リムーバブルハードドライブを「安全に切断」できることに注意してください(これにより、そのファイルシステムのダーティビットがクリアされます)。その後、予期しないシャットダウンが発生する可能性があります。
ジェイミーハンラハン

0

一部のコンピューターでは、OSに依存しない方法がハードウェアBIOSで設定されている場合があります。BIOSのコンピューターベンダーとサプライヤーによって異なります。

メジャーには、American Megatrends Inc.(AMI)、Award、およびPhoenix Technologiesが含まれます。詳細については、これらのメーカーをご覧ください。


2
手を振って「情報が出ました」と言うのではなく、実際に関連する参照にリンクしてみてはどうでしょうか。
Gマン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.