メモリ整合性(HVCI)をオフにすると速くなるのか ── 意味と手順と判断
· 小村 豪 · Windows 11, メモリ整合性, HVCI, コア分離, VBS, パフォーマンス, セキュリティ
更新履歴(初版のみ・2026年09月04日公開)
- 初版公開
この記事を引用する(DOI: 10.5281/zenodo.22305559)
この記事はZenodoにアーカイブされています。常に最新版へ解決されるDOIと、いま表示している版に固定されたDOIの両方を下に示します。
小村 豪(2026)「メモリ整合性(HVCI)をオフにすると速くなるのか ── 意味と手順と判断」合同会社小村ソフト. https://doi.org/10.5281/zenodo.22305559 https://comcomponent.com/blog/windows-memory-integrity-hvci-off-performance/
- DOI(最新版)
- 10.5281/zenodo.22305559
- DOI(この版)
- 10.5281/zenodo.22305560
Windows セキュリティを開くと、「デバイス セキュリティ」の中に「コア分離」という項目があり、その中に「メモリ整合性」というトグルがあります。「メモリ整合性 オフ」で検索すると、「オフにすると PC が速くなる」「ゲームの fps が上がる」という記事がたくさん出てきます。一方で、Windows 11 はこのトグルをオフにすると警告を出し続けます。
読む人の頭の中で混ざりやすいのは、このあたりの疑問です。
- これは何をしている機能なのか
- オフにすると本当に速くなるのか。それはどんな PC で、どのくらいなのか
- オフにしてよいのか。何を失うのか
- どうやってオフにするのか。オフになったことをどう確かめるのか
- オンに戻そうとしたら「互換性のないドライバー」と言われた。どうすればよいのか
先に言うと、メモリ整合性は「速さと引き換えに Microsoft が押し付けている飾り」ではありません。カーネルに読み込まれるドライバーの検証を、OS のカーネルよりも強い場所で行う仕組みです。ただし、その仕組みの性質上、構成によっては性能に影響します。Microsoft 自身も、ゲーム用デバイスの一部のシナリオと構成では性能影響があり得ると案内しています。1
この記事では、メモリ整合性(HVCI)が何をしているのかを入門者向けに整理し、「オフにすると速くなるのか」に条件つきで答え、オフにする手順、オフになったことの確認方法、戻し方、そして「自分の場合はどうすべきか」の判断基準までまとめます。仕組みそのものを深く追いたい方は、連載記事「Windows仮想化の深層(第2回) ── カーネルからも見えないメモリ:VBS・HVCI・Credential Guardの仕組み」を読んでください。本記事はその入口にあたる入門編です。
この記事の前提
| 項目 | 内容 |
|---|---|
| 対象読者 | 「メモリ整合性をオフにすると速くなる」と聞いて、本当か・自分はどうすべきかを知りたい PC 利用者・ゲーマー・小規模な社内 PC の管理担当 |
| 前提知識 | Windows の設定画面を操作できること。ドライバーやカーネルという言葉の厳密な理解は不要です |
| 前提環境 | Windows 11。操作手順は Windows 11 の Windows セキュリティ アプリを前提にします。設定の変更には管理者権限が必要です |
| 難易度 | 初級 |
| 扱わないこと | VTL・セキュアカーネル・SLAT の内部構造(第2回の記事へ)、Credential Guard、企業向けの App Control ポリシー設計 |
1. まず結論
- メモリ整合性(HVCI)は、カーネルに読み込まれるドライバーの署名検証を、ハイパーバイザーが作る隔離環境の中で行う機能です。 検証に合格したメモリページだけが実行可能になり、実行可能なページには書き込みができません。2 悪意のあるプログラムが低レベルのドライバーを使って PC を乗っ取ることを難しくします。3
- オフにすると速くなる構成はあります。ただし全部ではありません。 Microsoft は、ゲーム用デバイスの一部のシナリオと構成で、メモリ整合性と仮想マシン プラットフォームによる性能影響があり得ると案内しています。1 差が出やすいのは、CPU が Mode-Based Execution Control(Intel では第7世代以降に搭載)や Guest Mode Execute Trap(AMD では Zen 2 以降に搭載)を持たず、エミュレーションで代替されている古い PC です。4
- 変わらないケースも多いです。 GPU がボトルネックのゲーム、遅さの原因がメモリ不足・ディスク・熱・電源モードにある場合、そしてそもそもメモリ整合性が動いていなかった場合(アップグレードで使い続けている PC に多い)は、オフにしても何も変わりません。5
- オフの手順は、Windows セキュリティ > デバイス セキュリティ > コア分離の詳細 > メモリ整合性をオフにして再起動、です。 再起動するまで反映されません。4 灰色になっているなら、組織のポリシーか UEFI ロックで固定されています。
- オフになったかどうかは msinfo32 か
Win32_DeviceGuardで確認します。 トグルの表示は「設定」であって「動作状態」ではありません。5 比較実験をするなら、ここを確認せずに測ってはいけません。 - 判断の軸は「そのPCは何に使うか」です。 測って差が出て、その差が使い方に効き、エラーで HVCI を名指しするアンチチートのゲームを使わず、社内資産や重要な情報を扱わない PC なら、オフは選択肢に入ります。それ以外は、オンのまま別の原因を探すほうが速くなります。
この記事の知識マップ
メモリ整合性(HVCI)は仮想化ベースのセキュリティ(VBS)の上に載る機能で、VBSはWindowsハイパーバイザーを使い、ハイパーバイザーはSLATを前提とする。メモリ整合性はカーネルへのコード注入を防ぐが、ハイパーバイザーがOSの下に入ることと実行許可をハイパーバイザーが強制することによる仮想化の性能影響の原因になることがあり、このうちメモリ整合性に固有なのは実行許可の強制によるコストで、CPUにMode-Based Execution Control(MBEC/GMET)があればそのコストは軽減され、無ければRestricted User Modeのエミュレーションで大きくなる。ハイパーバイザーが下に入ることによる二段階アドレス変換のコストはこれとは別で、MBECでは減らない。仮想マシン プラットフォームも同じハイパーバイザーを使って性能影響の原因になることがあり、WSL 2はこれを前提とし、Windows サンドボックスも同じハイパーバイザーで動くため、メモリ整合性をオフにしてもハイパーバイザーは残り得る。メモリ整合性はコア分離の画面・レジストリ・グループポリシーで構成でき、動作状態はWin32_DeviceGuardとmsinfo32で確認でき、MBECの有無もWin32_DeviceGuardで分かる。メモリ整合性は要件に適合しないドライバーの読み込みブロックの原因になることがあり、その記録はCodeIntegrity運用ログで確認でき、対応版ドライバーへの更新が推奨され、Windowsが自動で有効化したPCに限っては、起動失敗時の自動無効化の安全装置がブロックによる起動不能を軽減する(手動でオンにした場合は文書化されておらず、働いた場合も原因の確定ではない)。一部のアンチチートは、エラーでHVCIを名指しした PC ではHVCIを前提とする。性能影響への対応としては、状態を確認したうえで同じ条件で複数回測る再現性のある比較を勧める。
flowchart LR
accTitle: メモリ整合性(HVCI)をオフにすると速くなるのかの知識マップ
accDescr: メモリ整合性がVBSとWindowsハイパーバイザーの上に載り、コア分離の画面・レジストリ・グループポリシーで構成され、カーネルへのコード注入を防ぐ一方で仮想化による性能影響とドライバーの読み込みブロックの原因になり得ること、性能影響のうちメモリ整合性に固有の実行許可の強制コストをMBEC/GMETが軽減し、Restricted User Modeが大きくすること、ハイパーバイザー自体も二段階アドレス変換で性能影響の要因になること、動作状態はWin32_DeviceGuardとmsinfo32で確認でき、仮想マシン プラットフォームやWSL 2・Windows サンドボックスが同じハイパーバイザーを使い、エラーでHVCIを名指しするアンチチートがHVCIを前提とし、性能影響には再現性のある測定で対応することを示す図
hvci["メモリ整合性"]
hypervisor_performance_impact["仮想化による性能影響"]
vbs["仮想化ベースのセキュリティ"]
windows_hypervisor["Windowsハイパーバイザー"]
slat["SLAT"]
kernel_code_injection["カーネルへのコード注入"]
virtual_machine_platform["仮想マシン プラットフォーム"]
mbec["Mode-Based Execution Control(MBEC)"]
restricted_user_mode["Restricted User Mode(RUM)"]
hvci_execute_enforcement_overhead["実行許可の強制によるメモリ整合性のコスト"]
core_isolation["コア分離"]
windows_registry["レジストリ"]
group_policy["グループポリシー"]
win32_deviceguard["Win32_DeviceGuardクラス"]
msinfo32["msinfo32(システム情報)"]
wsl2["WSL 2"]
windows_sandbox["Windows サンドボックス"]
hvci_driver_block["HVCIによるドライバー読み込みブロック"]
codeintegrity_log["CodeIntegrity - Operationalログ"]
hvci_compatible_driver["HVCI対応ドライバー"]
hvci_auto_disable_safeguard["起動失敗時のメモリ整合性の自動無効化"]
anti_cheat_hvci_requirement["アンチチートのHVCI要件"]
benchmark_reproducibility["ベンチマークの再現性"]
hvci -->|"利用する"| vbs
vbs -->|"利用する"| windows_hypervisor
windows_hypervisor -->|"前提とする"| slat
hvci -->|"防止する"| kernel_code_injection
hvci -.->|"原因になり得る"| hypervisor_performance_impact
virtual_machine_platform -.->|"原因になり得る"| hypervisor_performance_impact
hvci -.->|"利用する"| mbec
hvci -.->|"利用する"| restricted_user_mode
hvci -->|"原因になり得る"| hvci_execute_enforcement_overhead
hvci_execute_enforcement_overhead -.->|"原因になり得る"| hypervisor_performance_impact
windows_hypervisor -.->|"原因になり得る"| hypervisor_performance_impact
mbec -->|"軽減する"| hvci_execute_enforcement_overhead
restricted_user_mode -->|"原因になり得る"| hvci_execute_enforcement_overhead
hvci -->|"で構成できる"| core_isolation
hvci -.->|"で構成できる"| windows_registry
hvci -.->|"で構成できる"| group_policy
hvci -->|"で確認できる"| win32_deviceguard
hvci -->|"で確認できる"| msinfo32
mbec -->|"で確認できる"| win32_deviceguard
wsl2 -->|"前提とする"| virtual_machine_platform
virtual_machine_platform -->|"利用する"| windows_hypervisor
windows_sandbox -->|"利用する"| windows_hypervisor
hvci -.->|"原因になり得る"| hvci_driver_block
hvci_driver_block -->|"で確認できる"| codeintegrity_log
hvci_compatible_driver -->|"推奨される対応"| hvci_driver_block
hvci_auto_disable_safeguard -.->|"軽減する"| hvci_driver_block
anti_cheat_hvci_requirement -.->|"前提とする"| hvci
benchmark_reproducibility -->|"推奨される対応"| hypervisor_performance_impact
図の実線は常に成り立つ関係、破線は条件付きの関係です(成立条件は詳細ページの各関係の説明に記載)。関係すべての一覧(全28件、根拠・確度つき)と主要概念の定義は知識マップ詳細ページにまとめています。データ: JSON-LD / Turtle
2. まず混ざりやすい 4 つを分ける
この話は、言葉を分けないと噛み合いません。設定画面に出てくる名前と、その裏にある仕組みの名前が違うからです。
2.1 メモリ整合性(HVCI)
Windows セキュリティの「コア分離」画面にあるトグルの名前です。正式には「ハイパーバイザーで保護されたコード整合性(Hypervisor-protected Code Integrity、HVCI)」と呼び、Microsoft の文書では「メモリ整合性」と「HVCI」が同じものとして扱われています。2 この記事で「オフにする」と言っているのは、これです。
2.2 コア分離
Windows セキュリティの画面の名前です。「Windows のコア プロセスをメモリ内で分離することで、悪意のあるソフトウェアから保護する」セキュリティ機能の一群をまとめた画面で、メモリ整合性はその中の 1 つのトグルです。3 画面には他にも、カーネルモードのハードウェア強制スタック保護などが並ぶことがあります。「コア分離をオフにする」という言い方をよく見かけますが、画面全体にスイッチはなく、実際に切っているのはメモリ整合性のトグルです。
2.3 仮想化ベースのセキュリティ(VBS)
メモリ整合性の土台になっている仕組みです。Windows のハイパーバイザーを使って、OS のカーネルが乗っ取られても守られる隔離環境を作り、そこにセキュリティ機能を収容します。6 メモリ整合性は VBS の上に載る機能の 1 つで、Credential Guard(ドメイン資格情報の保護)などもここに載ります。メモリ整合性をオフにしても、VBS そのものが止まるとは限りません(6 章)。
2.4 仮想マシン プラットフォーム(VMP)と Hyper-V
「Windows の機能の有効化または無効化」にある項目で、WSL 2 のような軽量な仮想マシンを動かすための土台です。7 Microsoft のゲーム性能に関する案内では、メモリ整合性と並んでこちらも性能影響の要因として挙げられています。1 メモリ整合性とは別のトグルで、別の機能です。なお Windows サンドボックスは VMP ではなく「Windows サンドボックス」という専用のオプション機能で有効にするもので、VMP に依存はしませんが、同じ Windows ハイパーバイザーの上で動きます。8
flowchart TB
accTitle: 4つの言葉の関係
accDescr: Windowsハイパーバイザーの上に仮想化ベースのセキュリティ(VBS)と仮想マシン プラットフォームが載り、VBSの上にメモリ整合性とCredential Guardが載り、Windowsセキュリティのコア分離画面はメモリ整合性のトグルを表示する、という包含関係を示す
hv["Windows ハイパーバイザー"]
vbs["仮想化ベースのセキュリティ(VBS)"]
vmp["仮想マシン プラットフォーム"]
hvci["メモリ整合性(HVCI)"]
cg["Credential Guard など"]
ui["コア分離の画面(トグルを表示)"]
hv --> vbs
hv --> vmp
vbs --> hvci
vbs --> cg
ui -.->|"設定を映す"| hvci
図1: 「コア分離」は画面の名前、「メモリ整合性」はその中のトグル、VBS はその土台、VMP は同じハイパーバイザーに載る別の機能である。
つまり、「オフにすると速くなる」と言われているものの正体は、ハイパーバイザーの上に載った 2 つの機能(メモリ整合性と VMP)で、設定画面のトグルはそのうち前者だけを切ります。
3. メモリ整合性は何をしているのか
3.1 ドライバーの検問所を、カーネルの外に出す
Windows には、カーネルに読み込まれるドライバーが正しく署名されているかを検査する仕組み(コード整合性)がもともとあります。問題は、その検査をするコードもカーネルの中にあることです。カーネルを乗っ取った攻撃者は、検査そのものをすり替えられます。
メモリ整合性は、この検査を VBS の隔離環境の中で実行します。2 隔離環境はハイパーバイザーが守っているので、カーネルを乗っ取っても検査には手が届きません。加えて、次の 2 つの規則をカーネルのメモリに課します。2
- カーネルのメモリページは、検証に合格して初めて実行可能になる。
- 実行可能なページは書き込み可能にならない。
flowchart TB
accTitle: メモリ整合性が有効なときのドライバー読み込み
accDescr: ドライバーの読み込み要求はVBSの隔離環境で署名検証を受け、合格すれば実行可能かつ書き込み不可のページとして許可され、不合格なら読み込みがブロックされてCodeIntegrity運用ログに記録される
req["ドライバーの読み込み要求"] --> chk{"隔離環境で署名を検証"}
chk -->|"合格"| ok["実行可能・書き込み不可で許可"]
chk -->|"不合格"| ng["読み込みをブロック"]
ng --> log["CodeIntegrity ログに記録(3087)"]
図2: 検問所がカーネルの外にあるので、カーネルを乗っ取っても検問所はすり替えられない。
この規則があると、脆弱性を突いてカーネルのメモリを書き換えられても、書き換えた内容を実行に移せません。書けるページは実行できず、実行できるページは書けないからです。2 Windows セキュリティの説明文にある「悪意のあるプログラムが低レベルのドライバーを使用して PC を乗っ取りにくくする」3は、このことを指しています。
3.2 なぜ性能に影響するのか
ここが、この記事の主題に直結する部分です。メモリ整合性の代償は、大きく 2 つの場所で発生します。
1 つ目は、ハイパーバイザーが OS の下に入ることです。VBS はハイパーバイザーを前提とし、ハイパーバイザーは SLAT(二段階アドレス変換)という CPU の機能を必須とします。6 ホストの Windows 自身がハイパーバイザーの上のパーティションとして動くので、メモリアドレスの変換が二段階になり、その分の負荷がかかります。この構造は「あなたのWindowsはどこで動いているのか」で詳しく扱っています。
2 つ目は、カーネルのメモリページの実行許可をハイパーバイザー側で管理することです。メモリ整合性は「検証に合格したページだけ実行可能」という規則を、カーネル自身ではなくハイパーバイザーのメモリ保護で強制します。ここで CPU の世代差が効いてきます。Microsoft の文書は、メモリ整合性は Intel の Kaby Lake(第7世代)以降の Mode-Based Execution Control(MBEC) や AMD の Zen 2 以降の Guest Mode Execute Trap(GMET) を持つプロセッサーでよりよく動作し、それより古いプロセッサーでは Restricted User Mode と呼ばれるエミュレーションに頼るため、性能への影響がより大きくなると明記しています。4
MBEC が何をしているかを一言で言うと、メモリの実行許可を「ユーザーモードで実行してよいか」と「カーネルモードで実行してよいか」に分けて、ハードウェアで区別できるようにする機能です。9 メモリ整合性はカーネルモードの実行だけを縛りたいので、この区別があれば CPU に任せられますが、なければハイパーバイザーがソフトウェアで肩代わりすることになります。
flowchart TB
accTitle: 性能コストが発生する2つの場所
accDescr: メモリ整合性の性能コストは、ハイパーバイザーが下に入ることによる二段階のアドレス変換と、カーネルページの実行許可をハイパーバイザー側で強制することの2か所で発生し、後者はMBEC/GMETの有無で大きさが変わる
hvci["メモリ整合性が有効"] --> c1["ハイパーバイザーが OS の下に入る"]
hvci --> c2["実行許可をハイパーバイザーが強制"]
c1 --> t1["アドレス変換が二段階になる"]
c2 --> q{"CPU に MBEC / GMET はある?"}
q -->|"ある"| small["ハードウェアが処理(影響は小さめ)"]
q -->|"ない"| big["エミュレーション(影響が大きい)"]
図3: 「オフにすると速くなる」の大きさは、主に右側の分岐で決まる。
自分の CPU に MBEC/GMET があるかは、6 章で紹介する Win32_DeviceGuard の AvailableSecurityProperties に 7 が含まれるかで分かります。4
3.3 そもそも自分の PC で動いているのか
「オフにすると速くなる」を試す前に、確認しておきたいことがあります。メモリ整合性は、Windows 11 を対応ハードウェアにクリーンインストールしたときに既定で有効になる機能で、Windows 10 からのアップグレードでは自動では有効になりません。5 自動有効化の条件は次のとおりです。5
| 項目 | 自動有効化の条件 |
|---|---|
| プロセッサー | Intel 第8世代以降(Windows 11 22H2 以降。21H2 では第11世代以降)、AMD Zen 2 以降、Qualcomm Snapdragon 8180 以降 |
| メモリ | 8GB 以上(x64 の場合) |
| ストレージ | 64GB 以上の SSD |
| ドライバー | メモリ整合性に対応したドライバーだけが入っていること |
| ファームウェア | UEFI/BIOS で仮想化支援機能が有効 |
つまり、Windows 10 からアップグレードしてそのまま使っている PC、条件を満たさない PC、互換性のないドライバーが 1 つでもあった PC では、もともとオフのことがあります。その状態で「オフにしたら速くなった」と感じたなら、それは別の要因です。まず 6 章の方法で現在の状態を確認してください。
flowchart TB
accTitle: メモリ整合性が既定で有効になる条件
accDescr: Windows 11のクリーンインストールで、CPU世代・8GB以上のメモリ・64GB以上のSSD・対応ドライバー・ファームウェアの仮想化有効の条件をすべて満たすと既定で有効になり、アップグレードや条件未達では有効にならない
start["Windows 11 を導入"] --> how{"クリーンインストール?"}
how -->|"アップグレード"| off1["自動では有効にならない"]
how -->|"はい"| cond{"CPU・RAM・SSD・ドライバーの条件"}
cond -->|"満たす"| on["既定で有効"]
cond -->|"満たさない"| off2["有効にならない(手動で可)"]
図4: 「うちの PC は最初からオフだった」は珍しくない。試す前に現在の状態を見る。
4. 本当に速くなるのか ── 判断の材料
4.1 Microsoft が言っていること
Microsoft のサポート記事「Options to optimize gaming performance in Windows 11」は、Windows 11 がメモリ整合性(HVCI)と仮想マシン プラットフォーム(VMP)のために仮想化を使っていること、そしてゲーム用デバイスの一部のシナリオと一部の構成では、メモリ整合性と VMP がオンであることによる性能影響があり得ることを述べ、それぞれをオフにする手順を案内しています。1 つまり「速くなることがある」は Microsoft 公式の見解です。ただし「一部のシナリオと一部の構成では」という限定つきで、どのくらい速くなるかの数字は示されていません。
4.2 差が出やすい条件、出にくい条件
3.2 の仕組みから言えることを、状況別にまとめます。ここで書く「見込み」は仕組みからの傾向で、Microsoft が公表した測定値ではありません。 自分の PC でどうかは、4.3 の方法で測ってください。
| 状況 | オフで速くなる見込み | 理由 |
|---|---|---|
| MBEC/GMET のない古い CPU(Intel 第7世代より前、AMD Zen 2 より前) | 差が出やすい | 実行許可の強制をエミュレーションで肩代わりしている4 |
| CPU がボトルネックで、高い fps を狙うゲーム | 差が出ることがある | Microsoft が性能影響を認めている領域1 |
| GPU がボトルネックのゲーム(高解像度・高画質設定) | 小さい | CPU 側の負荷を減らしても GPU の待ち時間は変わらない |
| ブラウザー、Office、動画視聴 | まず体感できない | カーネルの実行許可の変更が頻繁に起きる処理ではない |
| Hyper-V・WSL 2・Windows サンドボックス・Docker を使う PC | オフにしても土台が残る | ハイパーバイザー自体はこれらのために動き続ける(6.2) |
| 遅さの原因がメモリ不足・ディスク・熱・電源モード | 変わらない | メモリ整合性とは別の原因 |
| もともとメモリ整合性が動いていなかった PC | 変わらない | オフにするものが無い(3.3) |
flowchart TB
accTitle: オフにすると速くなるかの判断フロー
accDescr: まずメモリ整合性が現在動いているかを確認し、動いていなければ別の原因を探し、動いていればCPUにMBEC/GMETがあるかとボトルネックがCPUかで見込みを分け、最後は同じ条件で測って判断する
s["体感で遅い"] --> run{"メモリ整合性は動いている?"}
run -->|"いいえ"| other["別の原因を探す"]
run -->|"はい"| cpu{"CPU に MBEC / GMET がある?"}
cpu -->|"ない"| likely["差が出やすい"]
cpu -->|"ある"| bn{"ボトルネックは CPU?"}
bn -->|"はい"| maybe["差が出ることがある"]
bn -->|"いいえ(GPU など)"| small["差は小さい見込み"]
likely --> measure["同じ条件で測って判断"]
maybe --> measure
small --> measure
図5: 「速くなるか」は PC の構成で決まる。最後に効くのは仕組みの知識ではなく、自分の PC での測定である。
4.3 体感ではなく測る
「オフにしたら速くなった気がする」は、たいてい当てになりません。設定を変えるために再起動しているので、それだけで一時的に軽くなるからです。比べるなら、次の点を揃えます。
- 状態が本当に変わったことを確認する。 オフにして再起動したあと、6 章の方法で「動作中のサービス」からメモリ整合性が消えたことを確かめます。これをせずに測ると、オン同士を比べていることがあります。
- 条件を揃える。 AC 接続かバッテリーか、電源モード、バックグラウンドで動いているもの、ゲームなら同じ場面・同じ画質設定。比較条件の揃え方は「Windowsで異なるバージョンのプログラムの実行速度をいかに比較するか」にまとめてあります。
- 同じ計測を複数回行う。 ゲーム内蔵のベンチマークや、決まった処理にかかる時間など、数字で出るものを使い、オンとオフで各 3 回程度測って中央値を比べます。
- 差が「使い方に効く」大きさかを見る。 平均 fps が 2% 上がっても、画面では区別できません。最低 fps(カクつき)が改善したかどうかのほうが体感には効きます。
flowchart TB
accTitle: オン・オフの比較手順
accDescr: 現在の状態を確認して条件を固定し、同じ計測を複数回行い、設定を変えて再起動し、状態が変わったことを確認してから同じ計測を繰り返し、差の大きさが使い方に効くかで判断する
a["現在の状態を確認(6章)"] --> b["条件を固定して 3 回測る"]
b --> c["設定を変えて再起動"]
c --> d["状態が変わったことを確認"]
d --> e["同じ条件で 3 回測る"]
e --> f{"差は使い方に効く大きさ?"}
f -->|"はい"| g["5章の判断へ"]
f -->|"いいえ"| h["オンに戻して別の原因を探す"]
図6: 再起動直後の軽さと、設定の効果を混同しない。状態の確認が測定の前提である。
差が出なかったなら、遅さの原因は別にあります。PC 全体が重い場合の調べ方は「WPR/WPA実践 ── 「PC全体が重い」をシステム全体から調べる性能調査入門」を、タスク マネージャーの効率モードが原因かもしれない場合は「Windows効率モードとは - 緑の葉アイコンとオフにする方法」を参照してください。
5. オフにしてよいのか ── 何を失うか
測って差が出たとしても、それだけでオフにする理由にはなりません。失うものを知ったうえで決めます。
5.1 失うもの
- カーネルへのコード注入に対する防壁。 脆弱性のあるドライバーや、署名のないドライバーを通じてカーネルを乗っ取る攻撃を、メモリ整合性は難しくします。2 オフにすると、その攻撃に対しては従来どおりの Windows になります。
- Windows セキュリティの警告。 Windows 11 22H2 以降、メモリ整合性がオフだと Windows セキュリティに警告が表示され、タスク バーのアイコンと通知センターにも警告の印が付きます。警告は Windows セキュリティの画面から閉じることができます。4
- HVCI を要求するソフトウェア。 一部のアンチチート(Riot Games の Vanguard など)は、Windows 11 で HVCI(メモリ整合性)をシステム整合性の検証に使っています。Riot のサポート記事では、VAN: RESTRICTION のエラーに挙げられたセキュリティ機能(TPM 2.0、セキュア ブート、メモリ整合性、IOMMU のいずれか)をそれぞれ有効にするよう案内しており、エラーで HVCI が名指しされた PC では、オンにしないとゲームが起動しません。10 すべての PC に一律に課される条件ではありませんが、「速くしたいゲーム」のためにオフにした結果、別のゲームが起動しなくなることがあります。
flowchart TB
accTitle: メモリ整合性をオフにすると失うもの
accDescr: メモリ整合性をオフにすると、カーネルへのコード注入に対する防壁が外れ、Windows 11 22H2以降ではWindowsセキュリティが警告を出し続け、エラーでHVCIを名指しするアンチチートのゲームは起動しなくなる
off["メモリ整合性をオフ"] --> l1["カーネルへのコード注入の防壁が外れる"]
off --> l2["Windows セキュリティが警告を出す"]
off --> l3["HVCI を名指しするゲームが止まる"]
図7: 失うものは 3 つ。速さの差と釣り合うかは、この 3 つを見てから決める。
5.2 判断の目安
| その PC は | 目安 |
|---|---|
| 会社の PC、社内ネットワークに繋ぐ PC、業務データを扱う PC | オンのまま。オフにしたくなるほど遅いなら、原因を別に探す(4.3) |
| 家庭の PC で、Web・メール・オンラインバンキングにも使う | オンのまま。得られる差に見合わない |
| ゲーム専用に近い PC で、測って差が出て、HVCI を名指しするアンチチートのゲームを使わない | オフは選択肢。ただしオフにしていることを覚えておき、用途が変わったら戻す |
| 古い CPU(MBEC/GMET なし)で、ゲームや重い処理の体感が明らかに悪い | 測って差が出るならオフは選択肢。ただし本筋は PC の更新 |
| 開発機・検証機で、Hyper-V や WSL 2 を使う | オフにしてもハイパーバイザーは残るので、期待した差は出にくい(6.2) |
flowchart TB
accTitle: オフにしてよいかの判断
accDescr: 業務データや社内ネットワークに関わる PC はオンのまま、エラーで HVCI を名指しするアンチチートのゲームを使うならオンのまま、測って差が出た専用機だけがオフの候補になり、それ以外はオンのまま別の原因を探す
q1{"業務データ・社内網に関わる?"} -->|"はい"| keep1["オンのまま(別の原因を探す)"]
q1 -->|"いいえ"| q2{"HVCI を名指しするゲームを使う?"}
q2 -->|"はい"| keep2["オンのまま"]
q2 -->|"いいえ"| q3{"測って差が出た?"}
q3 -->|"はい"| off["オフは選択肢(用途が変われば戻す)"]
q3 -->|"いいえ"| keep3["オンのまま"]
図8: オフの候補になるのは、最後の分岐まで進んだ PC だけである。
6. オフになっているかを確認する
手順の前に、確認方法を先に押さえます。オフにする前後で同じ方法を使うからです。
6.1 トグルの表示は「設定」であって「動作状態」ではない
Windows セキュリティの「コア分離」画面のトグルは、設定の値を表示しています。有効にした直後で再起動を待っている間や、起動時に互換性の問題でメモリ整合性が起動できなかった間も、トグルはオンに見えることがあります。動作状態は次のどちらかで確認します。5
msinfo32(システム情報)で見る
Win + R から msinfo32 を実行し、「システムの要約」の下のほうにある「仮想化ベースのセキュリティ」の欄を見ます。「実行中のサービス」に「ハイパーバイザーによって強制されるコードの整合性」が含まれていれば、メモリ整合性は動作中です。4
PowerShell で見る
管理者として開いた PowerShell で次を実行します。4
Get-CimInstance -Namespace root/Microsoft/Windows/DeviceGuard `
-ClassName Win32_DeviceGuard |
Select-Object VirtualizationBasedSecurityStatus,
SecurityServicesConfigured,
SecurityServicesRunning,
AvailableSecurityProperties
読み方は次のとおりです。4
| プロパティ | 値 | 意味 |
|---|---|---|
VirtualizationBasedSecurityStatus |
0 / 1 / 2 | VBS が無効 / 有効だが未動作 / 有効かつ動作中 |
SecurityServicesConfigured |
2 を含む | メモリ整合性が設定上有効 |
SecurityServicesRunning |
2 を含む | メモリ整合性が実際に動作中 |
AvailableSecurityProperties |
7 を含む | CPU に MBEC/GMET がある(3.2) |
オフにして再起動したあとは、SecurityServicesRunning から 2 が消えていれば成功です。SecurityServicesConfigured にも 2 が無ければ、設定としてもオフになっています。
flowchart TB
accTitle: メモリ整合性の動作確認の流れ
accDescr: Win32_DeviceGuardを照会し、SecurityServicesRunningに2が含まれればメモリ整合性は動作中、含まれなければ動作していない。設定側のSecurityServicesConfiguredに2があるのに動いていなければ再起動待ちか起動時の互換性問題を疑う
q0["Win32_DeviceGuard を照会"] --> r{"SecurityServicesRunning に 2?"}
r -->|"含む"| on["メモリ整合性は動作中"]
r -->|"含まない"| c{"Configured には 2 がある?"}
c -->|"ある"| wait["再起動待ちか起動時の互換性問題"]
c -->|"ない"| off["設定・動作ともにオフ"]
図9: 見るのは Configured ではなく Running。設定と動作は別々に読む。
6.2 オフにしてもハイパーバイザーが残る構成
もう 1 つ、期待外れの原因になりやすいのがこれです。メモリ整合性は VBS の上に載る機能の 1 つであり、オフにしたのはメモリ整合性だけです。VBS の有効・無効は別の設定(EnableVirtualizationBasedSecurity)で管理されていて、Microsoft の文書も「VBS のみを有効にする(メモリ整合性なし)」という構成を明示しています。4 さらに、Hyper-V、WSL 2、Windows サンドボックス、仮想マシン プラットフォームを使っていれば、ハイパーバイザーはそれらのために起動し続けます。7
3.2 で見た 2 つのコストのうち、「ハイパーバイザーが OS の下に入る」ほうは、この場合オフにしても残ります。メモリ整合性をオフにして msinfo32 の「仮想化ベースのセキュリティ」が「実行中」のままなら、土台は残っています。
flowchart TB
accTitle: メモリ整合性をオフにしても残るもの
accDescr: メモリ整合性のトグルをオフにしても、VBSの有効化設定、Hyper-V、WSL 2、Windows サンドボックス、仮想マシン プラットフォームのいずれかが有効ならハイパーバイザーは動き続け、二段階のアドレス変換のコストは残る
off["メモリ整合性をオフ"] --> q{"他にハイパーバイザーを使うものは?"}
q -->|"VBS 設定・Credential Guard"| stay1["ハイパーバイザーは残る"]
q -->|"Hyper-V・WSL 2・サンドボックス・VMP"| stay2["ハイパーバイザーは残る"]
q -->|"何も無い"| gone["土台ごと止まることがある"]
stay1 --> cost["二段階アドレス変換のコストは残る"]
stay2 --> cost
図10: トグルが切るのはメモリ整合性だけ。ハイパーバイザーを必要とする他の機能があれば、土台はそのまま残る。
VBS 自体を無効にする設定や、ハイパーバイザーを起動しない構成も存在しますが、Credential Guard を含む VBS 上のすべての機能と、Hyper-V・WSL 2・Windows サンドボックスが使えなくなります。「メモリ整合性をオフにする」とは別の、はるかに大きな変更です。この記事ではその手順は扱いません。仕組みを理解したうえで判断したい場合は、連載第1回と第2回を読んでからにしてください。
7. オフにする手順
7.1 Windows セキュリティから(標準の手順)
スタートから「Windows セキュリティ」を開きます。- 左メニューの「デバイス セキュリティ」を選びます。
- 「コア分離」の下にある「コア分離の詳細」を開きます。
- 「メモリ整合性」のトグルをオフにします。管理者権限の確認(UAC)が出たら許可します。
- PC を再起動します。 再起動するまで変更は反映されません。1
- 再起動後、6.1 の方法でオフになったことを確認します。
戻すときは同じ画面でトグルをオンにして再起動します。オンにするときは、互換性のないドライバーの検査が入ることがあります(8 章)。
flowchart TB
accTitle: Windowsセキュリティからメモリ整合性をオフにする手順
accDescr: Windowsセキュリティのデバイス セキュリティからコア分離の詳細を開き、メモリ整合性のトグルをオフにして再起動し、msinfo32かWin32_DeviceGuardでオフになったことを確認する
s1["Windows セキュリティを開く"] --> s2["デバイス セキュリティ"]
s2 --> s3["コア分離の詳細"]
s3 --> s4["メモリ整合性をオフ"]
s4 --> s5["再起動"]
s5 --> s6["6章の方法で確認"]
図11: 手順そのものは短い。抜けやすいのは最後の 2 つ(再起動と確認)である。
7.2 トグルが灰色で触れないとき
トグルが灰色で「この設定は管理者によって管理されています」と表示される場合、その PC はグループ ポリシーや Intune などで設定が固定されているか、レジストリで画面が無効化されています。4 会社や学校の PC なら、これは管理者の意図です。自分で回避せず、管理者に相談してください。
もう 1 つ、UEFI ロックつきで有効化されている場合があります。グループ ポリシーの「仮想化ベースのセキュリティを有効にする」で「UEFI ロックで有効」を選んで展開された PC は、設定が UEFI(ファームウェア)の変数に保存されるため、リモートやポリシーの更新ではメモリ整合性をオフにできません。4 解除には、ポリシーやレジストリの設定を外したうえで、その PC の前にいる人が UEFI に保存された構成を消す手順が要ります。同じ UEFI ロックを使う Credential Guard の文書では、管理者権限で bcdedit を使って EFI 変数を削除し、再起動時に表示される確認のプロンプトを物理的に承認する手順が示されています。11 UEFI のメニューでセキュア ブートを無効にするだけでは保存された構成は消えず、BitLocker の回復キー入力を招くこともあります。これは「勝手にオフにされないため」の設定なので、やはり管理者の領分です。
flowchart TB
accTitle: トグルが灰色のときの切り分け
accDescr: トグルが灰色なら、管理者による管理(ポリシーやレジストリ)かUEFIロック(PCの前でUEFIに保存された構成を消す手順が要る)のどちらかであり、いずれも自分で回避せず管理者に相談する
gray["トグルが灰色"] --> why{"表示されている理由は?"}
why -->|"管理者によって管理"| pol["ポリシー・レジストリで固定"]
why -->|"UEFI ロック"| lock["PC の前で UEFI の構成を消す手順が要る"]
pol --> ask["管理者に相談する"]
lock --> ask
図12: 灰色は故障ではなく、誰かが意図して固定している印である。
7.3 レジストリで設定する(画面が使えないとき)
Windows セキュリティの画面が使えない環境や、スクリプトで設定したい場合は、Microsoft が文書化しているレジストリ値を使えます。メモリ整合性の有効・無効は次の値で決まります。4
- パス:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity - 値の名前:
Enabled - 型:
REG_DWORD - データ:
0でオフ、1でオン
管理者として開いたターミナルで次を実行し、再起動します。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity" /v Enabled /t REG_DWORD /d 0 /f
これは、Microsoft がメモリ整合性を有効にしたあとに起動できなくなった PC を回復環境(Windows RE)から復旧する手順として案内しているのと同じ操作です。4
元に戻すときは、レジストリに 1 を書き戻すのではなく、7.1 の Windows セキュリティの画面からオンにしてください。 画面からオンにするときは互換性のないドライバーの検査が先に走り、該当があれば一覧が表示されます(8 章)。3 レジストリで 1 を書くとその検査を通らずに次回起動でメモリ整合性が要求されるので、互換性のないドライバーが残っていれば、8 章で警告している起動失敗をそのまま招きます。ポリシーやレジストリで有効化してよいのは、互換性のないドライバーの一覧と CodeIntegrity ログで問題が無いことを確認した後に限ります。
注意点が 2 つあります。第一に、同じキーの Locked が 1(UEFI ロック)になっている PC では、この値を書き換えても効きません。4 第二に、組織のポリシーで管理されている PC では、次のポリシー適用時に設定が戻ります。レジストリは「画面の代わり」であって、「管理者の設定を上書きする手段」ではありません。
flowchart TB
accTitle: レジストリで設定するときに効かない条件
accDescr: HypervisorEnforcedCodeIntegrityのEnabledを0にしても、同じキーのLockedが1(UEFIロック)なら効かず、組織のポリシーで管理されている PC では次のポリシー適用時に設定が戻る。オンに戻すときはレジストリではなくWindowsセキュリティの画面から行う
reg["Enabled を 0 にして再起動"] --> lk{"Locked は 1(UEFI ロック)?"}
lk -->|"はい"| no1["効かない(UEFI 側の解除が要る)"]
lk -->|"いいえ"| pol{"ポリシーで管理されている?"}
pol -->|"はい"| no2["次の適用時に戻る"]
pol -->|"いいえ"| ok["オフになる(6章で確認)"]
ok -.-> back["戻すときは画面から(検査が入る)"]
図13: レジストリ値は画面と同じ設定を書いているだけで、ロックとポリシーの上には立てない。
7.4 仮想マシン プラットフォーム(VMP)は別の手順
Microsoft のゲーム性能の案内で並んで挙げられている VMP は、Windows セキュリティではなく「Windows の機能」で切ります。1
スタートで「Windows の機能」と検索し、「Windows の機能の有効化または無効化」を開きます。- 「仮想マシン プラットフォーム」のチェックを外して「OK」を押します。
- 再起動します。
ただし、VMP は WSL 2 の前提機能です。7 WSL 2 や、WSL 2 を土台にする Docker Desktop を使っている PC でこれを外すと、それらが動かなくなります。Windows サンドボックスは VMP ではなく専用のオプション機能で有効化されるので、VMP を外しても使えます。8 ただしサンドボックスも同じハイパーバイザーの上で動くため、使い続ける限り 6.2 で見た「土台が残る」側の要因になります。「使っていないなら外す」が判断基準で、「速くなるから外す」ではありません。
flowchart TB
accTitle: 仮想マシン プラットフォームを外してよいか
accDescr: WSL 2やDocker Desktop(WSL 2バックエンド)など仮想マシン プラットフォームに依存する機能を使っているなら外さず、使っていない場合だけ外す候補になる。Windows サンドボックスは専用機能なのでVMPを外しても動くが、同じハイパーバイザーを使うので土台は残る
vmp["VMP を外したい"] --> use{"WSL 2 か Docker Desktop を使う?"}
use -->|"使う"| keep["外さない(動かなくなる)"]
use -->|"使わない"| ok["外す候補(Windows の機能から)"]
ok --> reboot["再起動して確認"]
ok -.-> sb["サンドボックスは別機能(土台は残る)"]
図14: VMP を外すかどうかは速さではなく「その機能を使うか」で決める。
8. オンに戻すとき ── 「互換性のないドライバー」への対処
オフにしていた PC でメモリ整合性をオンに戻そうとすると、「互換性のないドライバー」があると言われてオンにできないことがあります。Windows セキュリティはトグルをオンにする際にドライバーを検査し、メモリ整合性の規則(3.1)に適合しないドライバーがあれば一覧を表示します。3
対処の順番は次のとおりです。
- 一覧で対象を確認する。 「コア分離」画面の「互換性のないドライバーを確認する」から、ドライバーのファイル名と提供元を見ます。
- 更新されたドライバーに入れ替える。 Microsoft の案内どおり、デバイスの製造元に更新されたドライバーが提供されているか確認します。3 Windows Update の「オプションの更新プログラム」に来ていることもあります。
- 使っていない機器のドライバーなら削除する。 昔つないだ周辺機器、アンインストールし損ねたユーティリティのドライバーが残っていることがよくあります。
- どのドライバーがブロックされたかをログで確認する。 イベント ビューアーの
Applications and Services Logs\Microsoft\Windows\CodeIntegrity\Operationalに、メモリ整合性によるブロックがイベント ID 3087 を代表として記録されます。5
互換性のないドライバーが残ったまま強制的にオンにすることは、やらないでください。 Microsoft は、メモリ整合性と互換性のないドライバーによってデバイスやソフトウェアが誤動作し、まれに起動失敗(ブルー スクリーン)に至ることがあると警告しています。4 実際に起動できなくなった場合は、回復環境から 7.3 のレジストリ値を 0 にして起動を回復させる手順が用意されています。4
flowchart TB
accTitle: オンに戻せないときの対処
accDescr: 互換性のないドライバーの一覧で対象を特定し、製造元の更新版があれば入れ替え、使っていない機器なら削除し、いずれもできないなら強制せずにオフのままにして製造元に対応版を要請する
fail["オンにできない"] --> list["互換性のないドライバー一覧を見る"]
list --> upd{"製造元に更新版がある?"}
upd -->|"ある"| fix["入れ替えてオンにする"]
upd -->|"ない"| used{"その機器を使っている?"}
used -->|"使っていない"| rm["ドライバーを削除してオンにする"]
used -->|"使っている"| wait["強制せず製造元に要請"]
図15: 本筋はドライバーの更新。強制的にオンにするのは、起動できなくなる代償に見合わない。
なお、Windows がメモリ整合性を自動で有効にした PC(3.3 の既定有効化や、メーカーが出荷イメージで有効にした PC)には、有効化の直後に起動時のクラッシュが起きると、メモリ整合性を自動的にオフに戻す安全装置が入っていることがあります。Microsoft の文書では、この安全装置はレジストリの WasEnabledBy と EnabledBootId が設定されている場合に働き、有効化から 3 回の起動の間だけ有効で、メーカーが出荷イメージに設定する構成として説明されています。5 コア分離の画面から自分でオンにした場合については、この動作は文書化されていません。 手動でオンに戻すときは、この安全装置に頼らず、8 章の手順で互換性のないドライバーを先に片付けてください。「クリーンインストール直後に、いつの間にかオフになっていた」という現象は、この安全装置が働いた結果であることがあります。ただし、安全装置が記録しているのは「有効化の直後に起動に失敗した」という事実だけで、原因が互換性のないドライバーだと確定したわけではありません。その期間に無関係な原因で起動に失敗しても、同じ結果になります。Microsoft の文書も、メモリ整合性をオフにしても起動失敗が続く場合はメモリ整合性が原因ではなかったとして設定を元に戻す動作があると説明しています。5 互換性のないドライバーが原因である可能性は高いので、まず「互換性のないドライバー」の一覧と CodeIntegrity ログで裏付けを取り、該当があれば上の手順で対処し、該当が無ければ起動失敗の原因を別に調べてください。
flowchart TB
accTitle: 自動有効化された PC で自動でオフに戻る安全装置
accDescr: Windowsが自動で有効化した(WasEnabledByとEnabledBootIdが設定された)PCでは、有効化から3回の起動の間に起動時のクラッシュが起きるとメモリ整合性が自動的にオフに戻ることがある。手動でオンにした場合はこの動作は文書化されておらず、安全装置に頼らない。自動でオフになった場合も起動失敗の記録であって原因の確定ではないので、互換性のないドライバーの一覧とCodeIntegrityログで裏付けを取り、該当があれば更新か削除で対処し、無ければ別の原因を調べる
en["メモリ整合性が有効になる"] --> how{"自動有効化(WasEnabledBy)?"}
how -->|"手動でオン"| manual["安全装置は文書化されていない"]
how -->|"自動"| boot{"3 回以内の起動でクラッシュ?"}
boot -->|"しない"| fine["有効のまま動作"]
boot -->|"する"| auto["自動的にオフへ戻る"]
auto --> chk{"一覧かログに該当は?"}
chk -->|"ある"| fix["更新か削除で対処"]
chk -->|"ない"| other["別の原因を調べる"]
図16: 安全装置が働くのは自動有効化された PC だけで、手動でオンにした場合には頼れない。働いた場合もそれは合図であって診断ではないので、一覧とログで裏付けを取ってから直す。
9. よくある誤解
9.1 「コア分離をオフにした」
コア分離は画面の名前で、実際に切ったのはメモリ整合性のトグルです(2 章)。同じ画面にある他の項目や、VBS そのものは切れていません。
9.2 「オフにすれば必ず速くなる」
速くなり得るのは、メモリ整合性が実際に動いていて、CPU 側がボトルネックで、特に CPU が MBEC/GMET を持たない場合です(4 章)。GPU 律速のゲームや、原因が別にある遅さは変わりません。
9.3 「トグルをオフにした時点で終わり」
再起動するまで反映されず、再起動後も動作状態は別に確認する必要があります(6 章)。逆に、ポリシーや UEFI ロックで固定されている PC では、トグルを触っても戻ります。
9.4 「オフにしても他に影響はない」
カーネルへのコード注入に対する防壁が外れ、Windows セキュリティが警告を出し続け、エラーで HVCI を名指しするアンチチートのゲームは起動しなくなります(5 章)。
9.5 「オフにしたらハイパーバイザーも止まる」
メモリ整合性は VBS の上の 1 機能で、VBS の設定、Credential Guard、Hyper-V、WSL 2、Windows サンドボックス、VMP のどれかが有効なら、ハイパーバイザーは動き続けます(6.2)。
flowchart TB
accTitle: 誤解と実際の対応表
accDescr: コア分離をオフにしたという誤解は実際にはメモリ整合性のトグルであること、必ず速くなるという誤解は構成次第であること、トグルで終わりという誤解は再起動と確認が要ること、ハイパーバイザーも止まるという誤解は他の機能で残ることに対応する
m1["コア分離をオフにした"] --> r1["切ったのはメモリ整合性のトグル"]
m2["必ず速くなる"] --> r2["構成次第。測って判断"]
m3["トグルで終わり"] --> r3["再起動と動作確認が要る"]
m4["ハイパーバイザーも止まる"] --> r4["他の機能があれば残る"]
図17: 誤解の多くは「画面の名前」と「仕組みの名前」を混ぜたところから生まれる。
10. まとめ
メモリ整合性(HVCI)を一言でいえば、カーネルに入るドライバーの検問所を、カーネルの外の隔離環境に引っ越した仕組みです。その引っ越しには、ハイパーバイザーを下に敷くこと、実行許可をハイパーバイザーが強制することという代償があり、構成によっては性能に影響します。
だから、
- まず、自分の PC でメモリ整合性が動いているかを msinfo32 か
Win32_DeviceGuardで確認する - 差が出やすいのは MBEC/GMET のない古い CPU と CPU 律速のゲーム、出にくいのは GPU 律速のゲームと日常用途
- 試すなら、状態の変化を確認したうえで、同じ条件で複数回測る
- オフにしてよいのは、業務データや社内ネットワークに関わらず、HVCI を名指しするアンチチートのゲームを使わず、測って差が出た専用機だけ
- Hyper-V・WSL 2・サンドボックス・VMP を使う PC では、オフにしても土台が残るので期待した差は出にくい
- オンに戻せないときの本筋はドライバーの更新で、強制的にオンにはしない
という見方が、いちばん実務的です。
「オフにすると速くなる」は嘘ではありません。ただし、「自分の PC で」「測って」「失うものを知ったうえで」という 3 つの条件をつけて初めて、判断の材料になります。
関連記事
- Windows仮想化の深層(第2回) ── カーネルからも見えないメモリ:VBS・HVCI・Credential Guardの仕組み
- Windows仮想化の深層(第1回) ── あなたのWindowsはどこで動いているのか:ハイパーバイザーとパーティション
- Windows仮想化の深層(第3回) ── 数秒で起動する仮想マシン:WSL2・Windows Sandbox・コンテナー
- Windows効率モードとは - 緑の葉アイコンとオフにする方法
- Windowsで異なるバージョンのプログラムの実行速度をいかに比較するか。電源モード等の環境の揃え方から限界まで
- WPR/WPA実践 ── 「PC全体が重い」をシステム全体から調べる性能調査入門
- Windowsのプロセッサのスケジュール設定 - バックグラウンドサービスとP/Eコア
関連する相談領域
合同会社小村ソフトでは、Windows アプリケーションとセキュリティ機能(メモリ整合性・VBS・App Control)との互換性調査、ドライバー起因の不具合解析、「PC やアプリが遅い」の原因を測定で切り分ける性能調査を扱っています。「オフにしても速くならなかった」の先からご相談ください。
参考リンク
-
Microsoft Support, Options to optimize gaming performance in Windows 11. Windows 11 がメモリ整合性(HVCI)と仮想マシン プラットフォーム(VMP)のために仮想化を使っていること、ゲーム用デバイスの一部のシナリオと構成ではこれらがオンであることによる性能影響があり得ること、コア分離画面からメモリ整合性を、「Windows の機能」から VMP をそれぞれオフにして再起動する手順について。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7
-
Microsoft Learn, Memory integrity and virtualization-based security. メモリ整合性(HVCI)がコード整合性検証を VBS の隔離環境で実行すること、カーネルメモリページが検証合格後にのみ実行可能となり実行可能ページが書き込み可能にならないこと、「メモリ整合性」と「HVCI」が同じ機能を指すことについて。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Microsoft Support, Windows セキュリティ アプリのデバイス セキュリティ. コア分離が Windows のコア プロセスをメモリ内で分離して悪意のあるソフトウェアから保護する機能群であること、メモリ整合性(HVCI)が悪意のあるプログラムが低レベルのドライバーで PC を乗っ取りにくくする機能でトグルでオン/オフできること、ハードウェア仮想化が UEFI/BIOS で有効である必要があること、互換性のないドライバーについてはデバイスの製造元に更新されたドライバーを確認することについて。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6
-
Microsoft Learn, Enable virtualization-based protection of code integrity. Intel Kaby Lake 以降の Mode-Based Execution Control と AMD Zen 2 以降の Guest Mode Execute Trap でメモリ整合性がよりよく動作し、古いプロセッサーは Restricted User Mode というエミュレーションに頼るため性能影響が大きいこと、Windows セキュリティでの設定場所と 22H2 以降の警告表示、グループ ポリシーの UEFI ロック、
HypervisorEnforcedCodeIntegrity配下のEnabled・Lockedレジストリ値、VBS のみを有効にする構成、WasEnabledByによる画面の灰色化、Win32_DeviceGuardの各プロパティの意味(SecurityServicesRunningの 2 がメモリ整合性、AvailableSecurityPropertiesの 7 が MBEC/GMET)、msinfo32 での確認、互換性のないドライバーによる起動失敗の警告と Windows RE からの回復手順について。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 -
Microsoft Learn, Memory integrity and VBS enablement. メモリ整合性が Windows 11 のクリーンインストールで互換ハードウェアなら既定で有効になりアップグレードでは自動有効化されないこと、自動有効化のハードウェア条件(CPU 世代・8GB RAM・64GB SSD・対応ドライバー・仮想化有効)、
WasEnabledBy/EnabledBootIdによる起動失敗時の自動無効化の安全装置、msinfo32 と Windows セキュリティでの状態確認、CodeIntegrity 運用ログのイベント ID 3087 でブロックされたドライバーを確認できることについて。 ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 -
Microsoft Learn, Virtualization-based Security (VBS). VBS がハードウェア仮想化と Windows ハイパーバイザーで隔離環境を作り、カーネルが侵害され得る前提で OS の信頼の起点とすること、SLAT が VBS の必須要件であること、メモリ整合性対応ドライバーとセキュア ブートが前提であることについて。 ↩ ↩2
-
Microsoft Learn, 以前のバージョンの WSL の手動インストール手順. WSL 2 を使うために「仮想マシン プラットフォーム」のオプション機能を有効にする必要があることについて。 ↩ ↩2 ↩3
-
Microsoft Learn, Windows サンドボックス. Windows サンドボックスが「Windows の機能の有効化または無効化」の「Windows サンドボックス」というオプション機能で有効にする、Windows ハイパーバイザーを使う軽量なデスクトップ環境であることについて。 ↩ ↩2
-
Microsoft Learn, Virtual Secure Mode. Mode-Based Execution Control(MBEC)が、メモリの実行保護をユーザーモード実行(UMX)とカーネルモード実行(KMX)に分けて設定できるようにすることについて。 ↩
-
Riot Games Support, Error VAN: RESTRICTION. Windows 11 で Vanguard がシステムの整合性の検証に HVCI(メモリ整合性)を使い、正しく起動できない場合はゲームの起動をブロックすること、エラー メッセージに挙げられたセキュリティ機能(TPM 2.0、セキュア ブート、メモリ整合性、IOMMU)をそれぞれ有効にするよう案内していることについて。 ↩
-
Microsoft Learn, Configure Credential Guard - Disable Credential Guard with UEFI lock. UEFI ロックつきで有効化した場合は設定が EFI(ファームウェア)変数に保存されるため、ポリシーやレジストリの設定を無効にしたうえで
bcdeditで EFI 変数を削除し、再起動時に表示される UEFI 変更の確認プロンプトをその PC の前で承認する必要があることについて。 ↩
関連する記事
同じタグを共有する最新の記事です。さらに近い話題で知識を深められます。
Windows仮想化の深層(第2回) ── カーネルからも見えないメモリ:VBS・HVCI・Credential Guardの仕組み
対応ハードウェアへのクリーンインストールで既定有効になるVBSは、ハイパーバイザーとSLATでカーネルより強い隔離を作ります。VTL、セキュアカーネル、HVCI、Credential Guardの構造を解説します。
WindowsのTPMとは何か ── 図解でわかる「鍵を外に出さない金庫」と測定起動
TPMを図解で解説します。鍵をチップの外へ出さない仕組み、PCRと測定起動、BitLockerやWindows Helloでの使われ方、dTPM・fTPM・Plutonの違い、Get-Tpmでの確認方法、回復キーを求められたときの対処までを実務目線で整理します。
Windows効率モードとは - 緑の葉アイコンとオフにする方法
Windows 11 のタスク マネージャーに出る効率モードの意味、緑の葉アイコンの見方、オフにする手順、レジストリや電源モードで全プロセスの効率モードを極力走らせなくする方法、オフにできないケース、Microsoft Edge の省エネ機能との違いを整理します。
Windowsアプリのダークモードとコントラストテーマ対応 ── DWMのダークタイトルバー、WinForms/WPFのシステムテーマ追従、ハイコントラスト時の描画
Windows 11のダークモードとコントラストテーマにWinForms/WPFアプリを追従させる方法を解説。DWMのダークタイトルバー、.NET 9/10のSetColorModeとThemeMode、テーマ切替の検知、ハイコントラスト時のシステムカラー描画を整理します。
Windowsのプリンタードライバー終了 ── 業務アプリの帳票・ラベル印刷はどう備えるか
Microsoftはv3/v4プリンタードライバーの提供終了を段階的に進めており、2026年7月からはIPPクラスドライバーが優先されます。Windows protected print modeで何が消えるか、業務アプリの帳票・ラベル印刷の依存箇所の棚卸しと備え方を判断表...
関連トピック
このテーマと近いトピックページです。記事を起点に、関連するサービスや他の記事へ進めます。
Windows技術トピック
Windows 開発、不具合調査、既存資産活用の技術トピックをまとめた入口です。
よくある質問
この記事のテーマについて、相談時によくある質問をまとめています。
- メモリ整合性(HVCI)とは何ですか?
- Windows セキュリティの「デバイス セキュリティ」>「コア分離」にある機能で、正式には「ハイパーバイザーで保護されたコード整合性(HVCI)」と呼ばれます。カーネル(OSの中核)に読み込まれるドライバーの署名検証を、ハイパーバイザーが作る隔離環境の中で行い、検証に合格したページだけを実行可能にし、実行可能なページには書き込みを許しません。悪意のあるプログラムが低レベルのドライバーを使って PC を乗っ取ることを難しくするための機能です。
- メモリ整合性をオフにすると本当に速くなりますか?
- 速くなる構成もあれば、ほとんど変わらない構成もあります。Microsoft は、ゲーム用デバイスの一部のシナリオと構成でメモリ整合性と仮想マシン プラットフォームによる性能影響があり得ると案内しています。影響が出やすいのは、Mode-Based Execution Control(Intel では第7世代以降に搭載)や Guest Mode Execute Trap(AMD では Zen 2 以降に搭載)を持たない古い CPU で、この場合はエミュレーションで代替されるため性能影響が大きくなります。一方、GPU がボトルネックのゲームや、遅さの原因がメモリ不足・ディスク・熱・電源モードにある場合は、オフにしても変わりません。自分の PC で同じ条件で測って判断するのが確実です。
- メモリ整合性をオフにする手順を教えてください。
- Windows セキュリティを開き、「デバイス セキュリティ」>「コア分離の詳細」で「メモリ整合性」のトグルをオフにして、PC を再起動します。再起動するまで設定は反映されません。トグルが灰色で「この設定は管理者によって管理されています」と出る場合は、組織のポリシーで固定されているので、自分で変えずに管理者に相談してください。
- オフにしたはずなのに速くならないのはなぜですか?
- まず、本当にオフになったかを msinfo32(システム情報)の「仮想化ベースのセキュリティ」欄か、PowerShell の Win32_DeviceGuard クラスで確認してください。再起動していない、ポリシーで戻されている、という理由でオンのままのことがあります。次に、Hyper-V・WSL 2・Windows サンドボックス・仮想マシン プラットフォームを使っていると、メモリ整合性をオフにしてもハイパーバイザー自体は動き続けます。そして、そもそも遅さの原因がメモリ整合性でなければ、オフにしても速くはなりません。
- メモリ整合性をオンに戻せない(互換性のないドライバーがあると言われる)ときはどうすればよいですか?
- Windows セキュリティの「コア分離」画面に表示される互換性のないドライバーの一覧で対象を確認し、デバイスの製造元が提供する更新されたドライバーに入れ替えるのが本筋です。使っていない機器のドライバーなら削除しても構いません。どのドライバーがブロックされたかは、イベントビューアーの CodeIntegrity 運用ログ(イベントID 3087 が代表)でも確認できます。互換性のないドライバーが残ったまま強制的にオンにすることは Microsoft もサポートしておらず、起動できなくなる場合があります。
- ゲームのためにオフにしたら、別のゲームが起動しなくなりました。
- 一部のアンチチート(Riot Games の Vanguard など)は、Windows 11 でメモリ整合性(HVCI)をシステム整合性の検証に使っており、VAN: RESTRICTION のエラーで HVCI が名指しされた PC では、オンにしないとゲームが起動しません。すべての Windows 11 PC で一律に要求されるわけではなく、エラーに何が挙げられているかで決まります。該当する場合はメモリ整合性をオンに戻して再起動する必要があります。オフにするかどうかは「速くしたいゲーム」と「HVCI を要求するゲーム」の両方を見て決めてください。