Windows 11 HomeプリインストールPCでは既定のはずのコア分離で「メモリ整合性」を有効化できないのはなぜか?:その知識、ホントに正しい? Windowsにまつわる都市伝説(228)
2022年末、大学生になるわが子のためにWindows 11 HomeプリインストールPCを新調し、リモートトラブルシューティング環境を含めて、一通りセットアップしました。その際、セキュリティを高めるため「コア分離」の「メモリ整合性」を有効化しようとしたところ、互換性のないドライバが1つもないのにかかわらず、有効化できないという場面に遭遇しました。これは一体、どういうことなのでしょうか?
システム要件OK、互換性のないドライバなし、なのに有効化できない謎
「コア分離(Core isolation)」の「メモリ整合性(Memory integrity)」は、「ハイパーバイザーで強制されたコード整合性(Hypervisor-Enforced Code Integrity、HVCI)」や「ハイパーバイザーで保護されたコード整合性(Hypervisor-Protected Code Integrity、HVCI)」としても知られる(HVCIには他にもバリエーションがあります)、「Windows 10」以降が備える高度なセキュリティ機能です。
名前が示すように、この機能は「仮想化ベースのセキュリティ(Virtualization-Based Security、VBS)」と呼ばれるハイパーバイザーの分離環境で機能し、互換性を確認できているドライバのみの実行を許可することで、悪意のあるコードが侵入して実行されてしまうことを防止するのに役立ちます。
以下のMicrosoftのドキュメントに説明されているように、多くの場合、「Windows 11」では既定でこの機能が有効になっており、Windows 10では有効化することが推奨されています。ただし、パフォーマンスに影響する場合があるので、ハードウェアスペックの低いPCでは無効にすることで、セキュリティは弱まりますが、パフォーマンスの改善が期待できます。
- コア分離(Microsoft サポート)
新たに購入したWindows 11 HomeプリインストールPCで「Windowsセキュリティ」アプリを開き、「デバイスセキュリティ」で既定の設定状態を確認してみると、メモリ整合性が無効になっていました。有効にしようとしましたが、「互換性のないドライバーを解決してから、もう一度スキャンしてください」と表示されました(画面1)。そして、互換性のないドライバを確認すると、そこには何もありませんでした(画面2)。
通常、互換性のないドライバが原因でHVCIを有効にできない場合は、ドライバをアンインストールすることで解決できます。それには、「デバイスマネージャー」(devmgmt.msc)の「表示」メニューから「デバイス(ドライバー別)」を選択して表示を切り替えるなどして、問題のドライバを削除し、互換性のあるより新しいドライバをインストールするか、問題のドライバで動くデバイスの使用を諦めるか、無効のまま使用するかどうかを検討します。
しかし、問題のPCには互換性のないドライバは1つも報告されていません。BIOS(ファームウェア)で仮想化機能は既定で有効になっています。そのことは、念のため再確認しました。また、Windows 11 Homeでハイパーバイザー機能を提供する「仮想マシンプラットフォーム」はインストールされていなかったので(Pro以上のエディションの場合は「Hyper-V」または「仮想マシンプラットフォーム」のいずれか)、これが原因と考えてインストールしましたが、状況は変わりません(画面3)。
画面3 「仮想化プラットフォーム」の機能を有効にしても、メモリ整合性を有効にできない状況は変わらない(注:Windows 11ではHVCIのために、この機能やHyper-Vを明示的に有効にする必要はありません)
なお、Windows 11では、「仮想マシンプラットフォーム」や「Hyper-V」を明示的に有効化しなくても、VBSやHVCIを有効化できるようです。これらの機能は、「Hyper-V」や「Windows Subsystem for Linuxバージョン2(WSL2)」を利用する場合に、インストールすればよいようです。
怪しいレジストリの存在
HVCI関連のレジストリ設定は、以下のキーに存在します。このキーを確認したところ、「DisableAutoenabled=1」の値が存在しました。HVCIが有効になっている別のWindows 11 PCには存在しない値です。
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity
名前からして関係しそうなので、このレジストリを削除し、再起動してみましたが(もちろん、レジストリのエクスポートとシステムのバックアップの作成の後)、それでも状況は変わりませんでした(画面4)。
いろいろと試してみた結果、以下のドキュメントに説明されている2つの値、「Enabled=1」と「WasEnabledBy=1」を「レジストリエディター」で作成し、再起動したところ、HVCIが有効になりました(画面5、画面6)。
- ハイパーバイザーで保護されたコード整合性の有効化(Microsoft Learn)
再びHVCIを無効にして再起動し、もう一度有効にしようとすると、また最初の状況が繰り返されます。しかも、レジストリ値「BlockAutoenablement=1」の有無は関係ないようです。
さらに、仮想マシン環境にWindows 11をインストールして、「BlockAutoenablement=1」を作成してみましたが、HVCIの有効化がブロックされることはありませんでした。
多くの謎が残ったままですが、HVCIを有効にして、しばらく様子を見てもこれといって問題は生じていないので、この設定で使用させようと思います。万が一、何かあれば、無効にすればよいだけの話ですし、いろいろと試す前に取得したフルバックアップ(システムイメージ)もあります。
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP 2008 to 2023(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Windows 11一般提供開始、企業での導入/展開時に注意すべきポイントは?
MicrosoftはWindowsデスクトップOSの最新バージョンである「Windows 11」を正式にリリースし、Windows 11対応ハードウェアを搭載したWindows 10デバイスに対して、無料アップグレードの段階的なロールアウトを開始しました。 - Windows 11登場! 11で変わること、思ったほど変わらないこと
新しいWindows OS「Windows 11」の正式出荷が2021年10月5日に開始された。Windows 10からの無償アップグレードが可能であるため、どのような新機能が実装されたのか気になる人も多いのではないだろうか。そこで、本稿ではWindows 11の新機能、削除された機能などを簡単にまとめてみた。 - 買って、試して分かったWindows 365(契約・セットアップ編)
Microsoftからクラウド上でWindows 10が動く「クラウドPC」の利用可能なサブスクリプションサービス「Windows 365」の提供が開始された。早速、サブスクリプションを契約し、クラウドPCの設定を行ってみた。契約からセットアップまでで見えてきた便利な点、不便な点などをまとめてみた。 - いよいよ完全終了へ。Internet Explorer(IE)サポート終了スケジュール
長らくWindows OSに標準装備されてきたInternet Explorer(IE)。その「寿命」は各種サポートの終了時期に左右される。Windows OSごとにIEのサポート終了時期を分かりやすく図示しつつ、見えてきた「終わり」について解説する。