Hypervisorスケジューラーの動作モードを確認する方法(続EVENT157)

このサイトを検索 | Search this site
cpu
Windows サンドボックスはWindows 10 v1903以降のバージョンに追加された仮想化技術です。

イベントID157、Hyper-V-Hypervisor警告の補足記事です。(関連記事

イベントログに [ソース:Hyper-V-Hypervisor] を見つけたら、Windows 10機能「バーチャルマシン」が関係しています。

157イベント

私の環境では、Windows サンドボックスを有効化するとイベントID157が記録されます。

ここでいくつか疑問が湧きますね?
  • ハイパーバイザースケジューラーの動作モードには何があるのか?
  • PCはどのモードで動作しているのか?

当方のPCのハイパーバイザースケジューラーは「root(ルートスケジューラ)」モードになっていました。


イベントログ

イベントID157, イベントID2を転載します。

イベントID157が記録されている時はイベントID2も記録されますが、管理ビューには表示されないので、[Hyper-V-Hypervisor] をキーワードにセットしたカスタムビューを作成します。

イベントログ
メッセージ The hypervisor did not enable mitigations for CVE-2018-3646 for virtual machines because HyperThreading is enabled and the hypervisor core scheduler is not enabled. To enable mitigations for CVE-2018-3646 for virtual machines, enable the core scheduler by running "bcdedit /set hypervisorschedulertype core" from an elevated command prompt and reboot.
ログの名前システム
ソースHyper-V-Hypervisor
イベントID157
レベル警告
ユーザーSYSTEM

「0x4」がハイパーバイザースケジューラーの動作モードです。

イベントログ
メッセージ Hypervisor scheduler type is 0x4.
ログの名前システム
ソースHyper-V-Hypervisor
イベントID2
レベル情報
ユーザーSYSTEM

緩和策

ログは、緩和策も書かれています。
引数 "core" は、ハイパーバイザースケジューラーの動作モードを指定するコマンドです。

c:\_
管理者:コマンド プロンプトー □ × 
C:\WINDOWS\system32>bcdedit /set hypervisorschedulertype core

カスタムビュー

Hyper-V-Hypervisorのログを表示するためのカスタムビュー作成手順。
  1. イベントビューアー (eventvwr.msc) を起動する
  2. [操作 > カスタムビューの作成] を選択する
  3. イベントログ:Windowsログ
  4. イベントソース:Hyper-V-Hypervisor
  5. OKをクリック

eventvwr.msc
イベントビューアーは「ファイル名を指定して実行」の名前の横のボックスに [eventvwr.msc] と入力してOKをクリックする。
  • WindowsR(キーボードショートカット)

eventvwr.msc
フィルターの絞り込み
  • ログごと(ラジオボタン)
  • イベントログ(ドロップダウンリストから選択)
  • イベントソース(ドロップダウンリストから選択)

CustomView-EventSource

分かったこと

CVE-2018-3646は、Intel製CPUの脆弱性のことです。
  • マイクロソフトはIntel製CPUの脆弱性をOSレベルで緩和するためにセキュリティ更新プログラムをリリースしている。
  • 緩和策の恩恵を受けるには、ハイパーバイザースケジューラーの動作モードがコアスケジューラになっている必要がある。
  • Intelが問題を完全に解決するまでは脆弱性は残ったままである。

Intelは数年にわたり脆弱性問題を放置してきたので事は簡単ではありません。

この件について分かりやすくまとめられた産経の記事を見つけたので、外部リンクに貼っています。

仮想化オプション

Windowsの機能 (OptionalFeatures.exe) を利用すると、仮想化に関係してそうなオプション機能がみつかります。

例えば・・・、
  1. Hyper-V
  2. Windows サンドボックス
  3. Windows ハイパーバイザープラットフォーム
  4. 仮想マシンプラットフォーム

OptionalFeatures.exe

あとがき

ハイパーバイザースケジューラーについてはMicrosoft Docsをお読みください。(文末リンク)

以下はザックリ情報です。

スケジューラーは3つに分類されます。
  • クラシックスケジューラ
  • コアスケジューラ
  • ルートスケジューラ

イベントID2に記録されたコード [0x4] は、Windows 10 v1803から導入された最新のルートスケジューラーが有効であることを通知しています。

しかしながら、

Windows サンドボックスを利用する時は、CVE-2018-3646の緩和策を起動するためにコアスケジューラーが必要なようです。

Hyper-V-HypervisorCode説明
クラシックスケジューラ0x1:SMT無効
0x2
Windows Hyper-v ハイパーバイザーの開始以降のすべてのバージョンに対して既定の設定になっています。 クラシックスケジューラは、ゲスト仮想プロセッサに対してフェアシェアのプリエンプティブなラウンドロビンスケジューリングモデルを提供します。
コアスケジューラ0x3Windows Server 2016 および Windows 10 バージョン1607で導入された。
ルートスケジューラ0x4Windows 10 バージョン1803で導入された。
検証:Windows 10 Pro November 2019 Update, v1909.18363.476
SC2
ブログサークルSNS
クリックして応援してね!
人気ブログランキングPVアクセスランキング にほんブログ村ブログランキング・にほんブログ村へ

このサイトを検索 | Search this site