1

Windows 8 および 10 はデフォルトで Hiberboot を有効にして起動するため、[スタート] -> [電源] -> [シャットダウン] に移動すると、システムは実際には S5 ではなく S4 に入ります。状況によっては、以前にシャットダウンした方法に関係なく、S4 から「ウェイク」する代わりに Windows を強制的にフル ブートできるようにする必要があります。UEFI BIOS BootMode を常に BOOT_WITH_FULL_CONFIGURATION に強制しようとしましたが、役に立ちません。Windows は依然として高速ブート パスを使用します。

以前は、BIOS で Simple Boot Flag を使用して DIAG モードを設定することができました。それは私にとってはうまくいくかもしれませんが、Windows 8/10 ではまだサポートされているようには見えません。完全モードまたは診断モードで起動するために OS と通信する UEFI 変数またはその他の手段はありますか?

4

1 に答える 1

1

この問題を解決するために私がしたことは次のとおりです。ExitBootServices イベント コールバックを登録し、そのルーチンでブート モードが BOOT_ON_S4_RESUME かどうかを確認します。他の内部状態もチェックするので、システムが S4 から復帰し、診断/フル ブートを強制する必要がある場合は、gRT->ResetSystem (...) を実行します。ExitBootServices イベントは、Windows ブート プロセスのかなり先にあるため、その時点で突然リセットされると、Hiberfil データが破棄され、フル ブートが実行されます。

エラー メッセージなど、目に見える悪影響はないようです。リセット後、問題なく起動します。視覚的には、Windows ロゴが表示された直後にリセットが行われるため、ユーザー エクスペリエンスも問題ありません。この方法が製品コードになるかどうかはわかりませんが、成功した実験だったと思います。

于 2016-01-10T03:49:32.607 に答える