Windowsで「Memory integrityがオフ」になる原因と対処法

重要: 操作前に必ず重要データのバックアップを取り、レジストリやシステムファイルの変更は慎重に行ってください。
目次
- Memory integrityとは何か、なぜグレーアウトするのか
- Memory integrityが示すドライバー問題の診断と修正
- Autorunsで互換性のないドライバーを特定して無効化する
- システムファイル破損の検査と修復
- 関連アプリケーションのアンインストール
- Windows Update関連の問題を解決する方法
- レジストリからMemory integrityを有効化する手順
- 検証(テストケース)と受入基準
- よくある失敗ケースと代替アプローチ
- 管理者 / エンドユーザー向けチェックリスト
- 役割別の運用手順(SOP)とロールバック計画
- 簡単な意思決定フロー(Mermaid)
- FAQ(よくある質問)
- 要点まとめ
Memory integrityとは何か、なぜグレーアウトするのか
Memory integrity(メモリ整合性)は、Windowsの「Core isolation(コア分離)」というセキュリティ機能群の一要素です。短く定義すると: ハードウェアの仮想化機能(Intel VT-x/VT-d、AMD-Vなど)を利用して、重要プロセスのメモリ領域をハードウェアで分離し、マルウェアや不正なドライバーがカーネルメモリに侵入することを防ぐ機能です。
なぜグレーアウトするか、または有効化できないかの主な理由:
- 互換性のないドライバーが存在する(最も一般的)
- 不完全または破損したドライバー/システムファイル
- 最近のWindows Updateが不具合を起こしている
- BIOS側で仮想化等のハードウェア機能が無効になっている
- レジストリやポリシーで機能がロックされている
多くの場合、Windowsの「Core isolation」設定ページでトグルをオンにしようとした際に表示されるエラーメッセージに、互換性のないドライバーリストへのリンクが含まれています。まずはそこから取り組むのが最短経路です。
1. Memory integrityが示すドライバー問題の診断と修正
このセクションでは、まずWindowsのGUIから原因を洗い出す方法を説明します。手順は短く、問題のあるドライバーの特定に適しています。
手順:
Windowsの検索で「Device security」(デバイス セキュリティ)を検索して開きます。
「Core isolation details」(コア分離の詳細)をクリックします。そこに「Memory integrity」のトグルがあります。
トグルをオンにしてみます。成功すればそれで完了です。エラーが発生する場合は「Resolve any driver incompatibilities and scan again」(互換性のないドライバーを解決して再スキャン)や「Review incompatible drivers」(互換性のないドライバーを確認)といった案内が出ます。表示されたドライバー名をメモします。
Device Manager(デバイスマネージャー)を開き、表示メニューで「Show hidden devices」(非表示デバイスの表示)を有効にします。
- メモしたドライバーを探し、該当ドライバーがある場合は右クリックして「ドライバーの更新」や「デバイスのアンインストール」を試します。黄色い三角の警告アイコンが表示されているものは優先的に確認してください。
ポイント:
- ドライバーを更新しても改善しない場合は、製造元の公式サイトから最新の署名済みドライバーをダウンロードしてインストールしてください。
- レガシーなドライバー(古い署名や未署名のもの)はMemory integrityと衝突しやすいです。
重要: 企業環境で独自のドライバーやカスタムカーネルモジュールを使用している場合は、IT部門やベンダーと連携して署名済みの互換ドライバーを入手してください。
2. Autorunsで互換性のないドライバーを特定して無効化する
WindowsのGUIで見つからない場合、Microsoftが配布している無料ツール「Autoruns」を使うと、より深いレベルで読み込まれるドライバー/ドライバーファイルを確認できます。
手順:
- MicrosoftのサイトからAutorunsをダウンロードし、圧縮ファイルを展開します。
- 実行ファイルを右クリックして「管理者として実行」します。
- タブで「Drivers」を選択します。互換性のないものや削除すべきものが黄色でハイライトされることがあります。
問題のあるドライバーのチェックを外して無効化します。チェックを外せない場合は右クリックで「Delete」を選んでファイル参照を削除します(慎重に)。
無効化後、OSを再起動し、Memory integrityのトグルを再確認します。
注意点:
- Autorunsでの操作は直接システムの起動要素に影響します。操作前にシステムの完全バックアップを推奨します。
- 無効化したドライバーを後で再有効化するには、同じ手順でチェックを戻すか、該当ドライバーを再インストールします。
3. システムファイル破損の検査と修復
ドライバー更新や無効化で解決しない場合、Windows自体のシステムファイルが破損している可能性があります。SFC(システムファイルチェッカー)とDISMを順に実行して確認します。
手順:
Windows検索で「cmd」または「コマンドプロンプト」を開き、右クリックで「管理者として実行」します。
以下を順に実行します(実行後は各プロセスが完了するまで待ちます)。
sfc /scannow
sfcが問題を修復できない場合は、DISMを使用します:
DISM /Online /Cleanup-Image /CheckHealth
DISM /Online /Cleanup-Image /ScanHealth
DISM /Online /Cleanup-Image /RestoreHealth
- DISMの処理が完了したら再起動し、再度sfc /scannowを実行して整合性を確認します。
検証ポイント:
- sfcが「修復済み」と表示すれば、システムファイルの破損は解決傾向にあります。
- DISMが修復した場合、Windows Updateのキャッシュやイメージが不整合だった可能性があります。
4. 関連アプリケーションのアンインストール
特定のハードウェアベンダーが提供するユーティリティやドライバー管理アプリが、独自のカーネルドライバーをインストールしていることがあります。Memory integrityの互換性チェックで検出されたドライバーと同じベンダーのアプリをアンインストールすると解決する場合があります。
手順:
- スタートボタンを右クリックして「Apps and Features」(アプリと機能)を開きます。
- インストール済みアプリ一覧から、問題のドライバーのベンダー名に関連するアプリを探します。見つけたら、三点リーダー(…)をクリックしてアンインストールします。
- アンインストール後に必ず再起動し、Memory integrityの設定を確認します。
注意:
- 一部のユーティリティはカスタムサービスやドライバーを残す場合があります。アンインストール後もAutorunsやDevice Managerで残存ファイルを確認してください。
5. Windows Update関連の問題を解決する方法
最近の更新が原因でMemory integrityに不具合が出ることがあります。ここでは更新の確認、更新の一時停止解除、最近のアップデートのアンインストール方法を説明します。
手順:
- Windows検索で「Windows Update」を検索して「Windows Update settings」を開きます。
- 「Check for updates」(更新プログラムの確認)を実行し、保留中の更新があればインストールします。
- もし更新が最近適用されてから問題が発生した場合、「Update history」(更新履歴)→「Uninstall updates」(更新プログラムのアンインストール)を開き、最近適用された更新を1つずつロールバックして検証します。
注意点:
- セキュリティ更新のロールバックはリスクを伴います。必ず影響範囲を評価してから行ってください。
- 企業環境では、WSUSやSCCMなどの更新管理ツールで配布されている場合、管理者に相談してください。
6. レジストリからMemory integrityを有効化する手順
GUIでどうしても有効化できない場合、レジストリのキーで強制的にMemory integrity(Hypervisor enforced code integrity)を有効にする方法があります。操作は慎重に行い、事前にレジストリのバックアップを作成してください。
事前準備(必ず実行):
- システム復元ポイントを作成する。
- レジストリをエクスポートしてバックアップを保存する。
手順:
- Windows検索で「regedit」を入力し、「Registry Editor」を管理者として開きます。
- レジストリエディタの上部アドレスバーに以下をコピーして移動します:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios
- 右側のパネルの何もない部分を右クリックし、「New -> DWORD (32-bit) Value」を選びます。
- 新しい値の名前を「HypervisorEnforcedCodeIntegrity」とし、ダブルクリックして値データを「1」に設定します。
- システムを再起動します。
注意:
- これでWindows上の設定が有効化されない場合、互換性のないドライバーが残っているか、BIOSの仮想化設定が無効になっている可能性があります。
- レジストリの変更はシステム挙動に重大な影響を与えることがあります。理解できないエントリは編集しないでください。
検証(テストケース)と受入基準
導入後にMemory integrityが正しく動作しているかを確かめるための最小限の検証手順と受入基準を示します。
テストケース(基本):
システム起動後、Windows Security → Device security → Core isolation detailsを開く。
- 期待結果: Memory integrityのトグルがオンになっている。グレーアウトしていない。
トグルをオフ・オンして再試行。
- 期待結果: オンにでき、エラーが表示されない。
Autorunsで問題のあるドライバーが読み込まれていないことを確認。
受入基準:
- Memory integrityが恒常的にオンである(再起動後も維持)。
- 起動時に互換性のないドライバーの警告が出ない。
- 主要なアプリケーション(ドライバー含む)が正常に動作する。
検証に失敗した場合は、ロールバック手順(アンインストールしたドライバーの再インストール、レジストリ値の復元、システム復元)を実行します。
よくある失敗ケースと代替アプローチ
GUIやAutorunsではドライバーが検出されないがトグルがオンにならない
- 代替: セーフモードで起動し、Autorunsを実行して読み込まれるドライバーを確認する。セーフモードでは余分なドライバーが読み込まれないため、問題のある項目が見つけやすくなります。
どうしても特定のドライバーを削除できない(システム依存)
- 代替: ベンダーのサポートに連絡し、署名済みの互換ドライバーを取得する。企業利用ではベンダーパッチが提供されている場合があります。
Memory integrityを有効化するとゲームのFPSやアプリケーションのパフォーマンスが顕著に低下する
- 代替: 使用シナリオに基づいて有効化を評価する。個人ユーザーでゲーム重視ならオフのままにする判断もあり得ますが、リスクを理解した上で行ってください。企業環境では別途検証済みのハードウェアで有効化する方針を推奨します。
管理者 / エンドユーザー向けチェックリスト
以下は優先度順の短いチェックリストです。順番に実施してください。
管理者向け(ITチーム):
- 影響範囲を評価し、ユーザーに事前通知を行う
- システム復元ポイントまたはイメージバックアップを作成
- Device Security → Core isolationでエラーメッセージと互換性のないドライバーを確認
- 該当ドライバーの署名情報とベンダーを確認し、更新/置換を行う
- Autorunsで残存するドライバーの有無を確認
- DISM/SFCでシステム整合性を確認
- 影響を評価後、必要に応じてWindows Updateのロールバックを実施
エンドユーザー向け(個人):
- 重要データのバックアップ
- Device Security → Core isolationの画面を確認
- ドライバーをWindows Updateまたは製造元サイトから更新
- 使わない周辺機器や古いデバイスのドライバーを削除
- 変更後に再起動して設定を確認
役割別の短い運用手順(SOP)とロールバック計画
SOP(エンジニア/サポート向け):
- 事前準備: バックアップと復元ポイントを作る。問題の再現手順を記録。
- 初動: Device Securityでエラーのスクリーンショットを取得。該当ドライバー名を記録。
- ドライバー側対応: ベンダーサイトで署名済みドライバーを入手・適用。
- 再検証: Memory integrityを有効化し、問題が消えたか確認。
- 文書化: 対応手順と結果をチケットに残す。
ロールバック:
- レジストリを変更した場合はレジストリバックアップをインポートする。
- アンインストールで問題が発生した場合は、アンインストール前に取得したイメージからの復元を行う。
- 更新のロールバックは「アンインストール更新」から行う。
簡単な意思決定フロー
以下は一般的な優先度判断を行うためのフローチャートです。Mermaid形式を使って可視化しています。
flowchart TD
A[Start: Memory integrityがオフ/グレーアウト] --> B{Core isolation画面で互換性ドライバーあり?}
B -- Yes --> C[Device Manager/Autorunsでドライバーを更新または無効化]
B -- No --> D{最近のWindows Update適用後に発生?}
D -- Yes --> E[Update履歴から最近の更新をロールバックして確認]
D -- No --> F{システムファイル破損の可能性}
F -- Yes --> G[DISMとSFCを実行]
G --> H{解決したか?}
H -- Yes --> I[再起動してMemory integrityを確認]
H -- No --> J[レジストリでHypervisorEnforcedCodeIntegrity=1を設定]
J --> K{解決したか?}
K -- Yes --> I
K -- No --> L[ベンダーサポートへエスカレーションまたはバックアップから復元]
C --> I
E --> I
代替アプローチと注意点
- ハードウェア側が古い場合は、BIOSの更新やハードウェアの交換(特に仮想化支援機能未対応の古いCPU)を検討してください。
- 企業ポリシーで署名済みドライバーのみを許可している場合、サードパーティ製のユーティリティを使わない運用に変更することで再発を防げます。
- 個人ユーザーでパフォーマンスが第一という場合、リスクを理解した上でMemory integrityを無効化したまま運用する選択肢もあります。ただしマルウェアに対する攻撃面が増える点に注意してください。
互換性/バージョンに関するメモ
- Windows 10 と Windows 11 のCore isolation実装には差異があります。Windows 11では一部のセキュリティ機能(例: Pluton)が統合されたプラットフォームでの最適化が進んでいます。
- 民生向けノートPCや一部の古いワークステーションでは、UEFI/BIOSで仮想化支援機能が無効になっていることが多いです。起動時に表示されるキーでBIOSに入り、Intel VT-x / AMD-V / SVM / VT-d 等を有効にしてください。
FAQ(よくある質問)
Memory integrityはシステムパフォーマンスに影響しますか?
はい。Memory integrityは仮想化の機能を利用するため、特にゲームやグラフィック負荷の高いアプリケーションでパフォーマンス低下を感じることがあります。必要に応じてオン/オフを切り替え、影響を試験的に評価してください。
Memory integrityをオフにしても安全ですか?
リスクは増えます。オフにするとカーネルメモリの保護が弱まり、特定のマルウェアや悪意あるドライバーによる侵害のリスクが高まります。日常的に安全なブラウジングやウイルス対策を実施している環境であっても、可能なら有効化を推奨します。
Device securityでCore isolationが表示されません。どうすればいいですか?
「Standard hardware security not supported」と表示される場合は、BIOSで仮想化支援機能が無効になっている可能性が高いです。起動時にBIOS/UEFIに入り、以下を有効にしてください:
- Intel: Intel Virtualization Technology(VT-x)、VT-d、Intel Platform Trust Technology(IPTT)
- AMD: AMD-V、SVM
設定後に再起動すれば、Core isolationの項目が表示されるはずです。
Image credit: Pexels. All screenshots by Tanveer Singh
要点まとめ
- Memory integrityは重要なセキュリティ機能ですが、互換性のないドライバーや破損ファイル、更新の不具合で有効化できないことがある。
- まずはDevice SecurityのCore isolation画面でエラーメッセージを確認し、示されたドライバーを優先的に更新/無効化する。
- Autoruns、Device Manager、SFC/DISM、Windows Updateのロールバック、レジストリの変更などを順に試す。必ずバックアップと復元手順を用意する。
- 企業環境ではベンダーサポートと連携し、署名済みの互換ドライバーを入手することが重要。
参考: 役割別短縮版アナウンス文(管理者向け)
配布用短文(100〜200字):
Memory integrity(Core isolationの一部)に関する既知のトラブルについて、優先診断手順と対処法をまとめました。互換性のないドライバーや最近のWindows Updateが原因となることがあります。対応前に必ずバックアップを行い、社内ではIT部門へエスカレーションしてください。
要約(短く): Memory integrityの問題は主にドライバー互換性が原因です。Device Securityで指定されたドライバーを更新・無効化し、必要ならSFC/DISMとレジストリ変更で対応してください。