Windows 11搭載PCで電源ボタンを長押しして強制終了すると、電源が切れる前にWindowsが不具合の調査に使う「カーネルダンプ」の記録を試みる場合がある。
Microsoftの技術者であるRaymond Chen氏が、The support case of a customer who said that all they could see was a black screen - The Old New Thingにおいて、この仕組みと記録されたデータの扱いについて解説した。
Chen氏によると、この動作をMicrosoft内部では「long power button hold(LPBH)」と呼び、とくに画面全体が真っ黒になった状態で発生した事例を「black screen LPBH」に分類してChen氏も参加する専門チームが分析するという。
電源ボタン長押しから約8秒後、Windowsが記録を開始
Chen氏はブログで、パソコンの電源ボタンを押し続けると、開始から約8秒後にWindowsカーネルが強制電源オフの操作を検知し、カーネルダンプの記録を試みると説明した。その約4秒後、つまり長押し開始から約12秒後に、ハードウェア側で電源が切られるという。
電源ボタンの長押しによる強制終了では、OSの処理が完了する前にハードウェア側で電源が遮断されるため、記録に使える時間は限られる。Chen氏は、4秒間では十分な情報を取得できず、カーネルダンプが不完全になることがあると説明している。
ただし、この12秒はすべてのPCで統一されているわけではない。Microsoftのデバッガー関連文書では、ファームウェアによる強制電源オフは通常約10秒とされ、一部のノートPCではさらに短い。筆者のデスクトップPCに至っては、4~5秒程度が標準だ。
Windows Latestは「What really happens when you hold the power button to force shut down your Windows 11 PC, according to Microsoft」において、8秒未満で電源が切れる機種ではダンプが記録されないと指摘した。つまり、筆者のデスクトップPCでは、Chen氏が説明したタイミングでのダンプ記録は行われないと考えられる。
記録されたカーネルダンプはMicrosoftに送信される?
前述のとおり、何らかの不具合でWindowsの操作が不可能となった場合、電源ボタンによる強制終了が必要になることがある。その際、カーネルダンプが記録される場合があるが、気になるのは記録されたデータがMicrosoftに送信されるかどうかだ。
Windows Latestによると、Microsoftは必須の診断データを通じて、クラッシュダンプが作成されたことを示す情報を収集する。一方、ダンプデータ本体の収集には、オプションの診断データの送信を選択するなど、追加の許可が必要になるという。
Microsoftの公式資料では、クラッシュ時に記録されるメモリの内容に、使用中だったファイルの一部が意図せず含まれる可能性があることも説明されている。
診断データの設定は、設定アプリの「プライバシーとセキュリティ」→「Windowsのアクセス許可」セクションの「診断とフィードバック」を開いて確認できる。「診断データ」の項目を展開し、「オプションの診断データを送信する」をオフにすると、クラッシュダンプの収集に関する主な許可を無効にできる。ただし、必須の診断データの送信は継続される。電源ボタンに関連したカーネルダンプだけを個別に制御するスイッチは用意されていない。
同ページにある「診断データを削除する」ボタンにも注意が必要だ。このボタンではデータの送信は停止されず、Microsoftアカウントに関連付けられたデータも削除されない。後者については、Microsoftのプライバシーダッシュボードから削除する必要がある。
