PC をシャットダウン、再起動、またはサインアウトすると、Windows はバックグラウンドで多くの作業を実行します。このプロセスにより、ハードウェアの電源がオフになる前に、すべての作業データとアプリケーション データが確実に保存されます。
Windows によるログイン ユーザーのチェック (シャットダウン時)
PC をシャットダウンまたは再起動するように指示すると、Windows はまず、他の Windows ユーザー アカウントにアクティブなセッションがあるかどうかを確認します。これは、最初にサインアウトする前に Windows セッションをロックし、別のユーザー アカウントでサインインすると発生します。
他のユーザーがまだ適切にサインアウトしていないことを Windows が認識すると、「他のユーザーがまだこの PC を使用しています」というメッセージが表示されます。強制的に再起動すると、他のユーザーが開いているアプリケーションの保存されていないデータが失われる可能性があります。通常は、ここで停止し、他のユーザーにサインインして作業内容を保存し、シャットダウンする前にログアウトしてもらうことをお勧めします。
Windows では、他のユーザーに保存すべき開いている作業がないことが確実な場合は、[とにかくシャットダウン] をクリックできます。これにより、他のユーザー アカウントが強制的にサインアウトされ、開いているアプリケーションがすべて閉じられます。保存されていないデータは失われます。
サインインしているユーザーが自分だけである場合、このメッセージは表示されず、Windows は直接次の手順に進みます。
Windows はプログラムに作業内容を保存して閉じるように指示します
実際に PC からサインアウトする前に、Windows は開いているすべてのプログラムに作業内容を保存して閉じるように指示します。サインアウトはシャットダウン プロセスの必要な部分であるため、これは PC をシャットダウンまたは再起動するときにも発生します。
具体的には、Windows は開いている各ウィンドウに WM_QUERYENDSESSION メッセージを送信します。開いているプログラムを強制的に閉じるだけではありません。プログラムは作業内容を保存して閉じるように指示されますが、その前に少し時間がかかる場合があります。 PC をシャットダウンしたり、サインアウトしたりするのに少し時間がかかる場合があるのはこのためです。
プログラムは、ユーザーからの入力が必要であると通知して、このプロセスを「ブロック」できます。たとえば、プログラムで、保存する必要がある開いているファイルがある場合があります。アプリケーションが入力を要求している場合、「このアプリはシャットダウンを妨げています」というメッセージが表示されます。アプリケーションは ShutdownBlockReasonCreate 関数を使用してここにカスタム メッセージを表示することもできます。
このメッセージが表示された場合は、「キャンセル」をクリックしてアプリケーションを確認し、データを保存して自分でアプリケーションを閉じてください。データを破棄しても問題ない場合は、代わりに「とにかくシャットダウン」または「とにかくサインアウト」をクリックして続行できます。
Windows は、準備が整うと他のアプリケーションを閉じることに注意してください。したがって、10 個のアプリケーションを開いていて、シャットダウンを妨げているのが 1 つだけの場合、ここで [キャンセル] をクリックすると、その 1 つのアプリケーションだけが表示されます。 Windows では、他の 9 つのアプリケーションがすでに閉じられています。
Windows 10 では、Windows は開いていたアプリケーション ウィンドウを記憶し、次回 PC にサインインするときにそれらのウィンドウを再度開こうとします。
Windows からログアウトされる
開いているすべてのプログラムにデータを保存してシャットダウンするように指示した後、Windows はログアウトします。ユーザー アカウントに属する Windows の「セッション」全体が終了し、開いているプログラムはユーザー アカウントとして引き続き実行されなくなります。
Windows から完全にサインアウトするには、多くの個別のアクションが必要です。たとえば、ユーザー アカウントの Windows レジストリ ハイブ の内容は通常、メモリに保存されます。サインアウトすると、それらはディスクに保存されます。これらは、次回サインインするときにメモリにロードされて戻されます。
サインアウトするだけの場合、Windows はサインイン画面に戻るので、別のユーザーとしてサインインできます。シャットダウンまたは再起動している場合、Windows はシャットダウン プロセスを続行します。
Windows が自動的にシャットダウンする
Windows はユーザーのサインアウトを完了したら、Windows 自体をシャットダウンするだけです。 Windows は、すべてのシステム サービスと独自のプロセスを正常にシャットダウンし、必要なデータをディスクに保存するように指示します。具体的には、実行中のサービスに SERVICE_ACCEPT_PRESHUTDOWN メッセージを送信します。サービスに警告が発せられると、サービスは SERVICE_ACCEPT_SHUTDOWN メッセージを受け取ります。その後、サービスは 20 秒以内にクリーンアップしてシャットダウンされ、その後 Windows によって強制的にシャットダウンされます。
Windows 10 では、Windows カーネルの状態もディスクに保存されます。部分的な冬眠状態のようなものです。次回 PC を起動するとき、Windows は保存されたカーネルを再ロードし、より高速に起動し、遅いハードウェアの初期化プロセスをスキップします。この機能は 「高速スタートアップ」と呼ばれます。
Windows は、シャットダウン プロセスの最後の部分でも、利用可能な Windows Update の適用に取り組みます。 Windows は、シャットダウン時、PC の起動前、および実行中のバックグラウンドで、さまざまな更新タスクを実行します。
すべてが完了すると、Windows はソリッド ステート ドライブまたはハード ドライブを完全にアンマウントし、すべてのシステム データが物理ディスクに保存されたことを示す「オール クリア」信号を待ちます。すべてのソフトウェアは正常にシャットダウンされ、すべてのデータはディスクに保存されています。
Windows が PC をシャットダウンする
最後に、 Windows は ACPI シャットダウン信号を PC に送信します 。これにより、PC の電源が物理的にオフになります。シャットダウン処理が完了しました。
Windows 95 を使用したことがある場合は、ACPI シャットダウン信号の前の日々を覚えているでしょう。このステップで Windows は「コンピューターの電源を切っても安全です」というメッセージを表示し、自分で物理的な電源ボタンを押す必要がありました。 1996 年に初めてリリースされた ACPI (Advanced Configuration and Power Interface) 標準により、Windows は PC の電源をオフにできます。
これは 、 sleep または hibernate を使用する 場合とは動作が異なります。スリープでは、PC は非常に低電力モードで電源が入ったままになります。休止状態では、PC はシステム状態全体をディスクに保存し、再度電源を入れると復元します。





