Microsoftは9月18日(現地時間)、Windowsのシャットダウンと再起動でOSの終了処理や次回の起動方法が異なる仕組みを解説した。高速スタートアップが有効な環境では、シャットダウンしてもカーネルのセッションは終了せず、休止状態として保存される。
高速スタートアップの仕組みとカーネルの役割
Microsoftのサポート文書によると、高速スタートアップではカーネルのセッションを閉じずに休止させる。Windowsの起動方式には、OSを完全に起動するコールドブート、休止状態からの復帰、高速スタートアップがある。高速スタートアップはWindows 8で導入され、終了時の状態の一部を再利用して起動時間を短縮する。
この違いを理解するカギは、カーネルとドライバーの役割にある。カーネルはメモリやプロセス、ハードウェアを管理するWindowsの中核で、ドライバーはGPUやWi-FiカードなどのハードウェアとOSのやり取りを担う。
シャットダウンと再起動で何が違うのか
高速スタートアップが有効な状態でシャットダウンを選ぶと、アプリが閉じ、ユーザーはサインアウトする。その後、メモリ内のカーネルと読み込み済みのドライバーの状態を「hiberfil.sys」に保存してからPCの電源が切れる。このファイルはストレージ上に置かれ、カーネルのセッションの状態を保持する。
次に電源を入れる際は、保存済みの状態をファイルからメモリーへ戻す。カーネルの起動や全ドライバーの読み込みを最初から実施する手間を省けるため、起動が速くなる。ただし、保存前のセッションに応答しないドライバーなどの問題があれば、電源を入れ直した後にも同じ不具合が残る場合がある。この仕組みが、「シャットダウンして電源を入れ直しても直らないのに、再起動すると直る」ことがある理由の一つだ。
再起動では高速スタートアップは使われず、カーネルの状態を引き継がずに完全な起動処理を実施する。このため、以前のセッションに起因する問題の解消に役立つ。Microsoftは、高速スタートアップではカーネルやドライバーなどの状態が保存・復元されるため、カーネルの再起動までの稼働時間が従来より長くなる可能性があるとして、開発者にメモリリークなどのドライバーの問題に注意を促している。
Windows 8で高速スタートアップを導入した背景
高速スタートアップの導入には、Windowsの起動時間を短縮する狙いがあった。Windows 8の設計時にMicrosoftが収集した利用データでは、デスクトップPCでは57%、ノートPCでは45%のユーザーが、スリープではなく完全なシャットダウンを選んでいた。
そこでMicrosoftは、電源を切りながら次回の起動を高速化するため、従来の完全な起動と休止状態からの復帰を組み合わせた高速スタートアップをWindows 8で導入した。カーネルやドライバーなどの状態を休止ファイルに保存し、次回の起動時に再利用することで、従来の完全な起動より起動時間を短縮する仕組みだ。記事は、機械式ディスクでも起動時間を分単位から秒単位へ短縮したと説明している。
Windows 11で完全シャットダウンする方法
Windows 11で高速スタートアップを使わずに完全なシャットダウンを実施するには、コマンドプロンプトか「ファイル名を指定して実行」で「shutdown /s /t 0」を入力する。通常の高速スタートアップに備える終了処理を指定する場合は、「shutdown /s /hybrid /t 0」を使う。
実行前には作業内容を保存する必要がある。「/f」を付けると、実行中のアプリを警告なしで強制終了し、未保存のデータを失う恐れがあるため、記事は追加を避けるよう注意している。Microsoftは、高速スタートアップが普段の終了後の起動を速める機能として存在すると説明し、無効化を推奨していない。
Windows 11の動作がおかしいときは、まず再起動を試す。しばらくPCを使わないときは通常のシャットダウン、高速スタートアップを介さず完全に終了したいときは専用のコマンドを使う、と覚えておくとよいだろう。