怎么设置内核隔离
内核隔离这个开关,找起来其实不费劲,麻烦全在打开之后。有人点完开关重启,看到一句“内存完整性已关闭”就懵了;也有人发现那个开关是灰的,鼠标戳半天没反应。我在自己的台式机上亲自踩过坑,索性把这条路上的几个岔口一次说清楚。
先弄明白里面这两个开关各管什么
Windows 安全中心 → 设备安全性 → 内核隔离,展开之后能看到两项。它们不是同一件事,别混着看。
- 内存完整性:专业名叫 HVCI(Hypervisor-protected Code Integrity,由虚拟机监控程序保护的代码完整性)。它把内核态的代码校验搬到虚拟化层里跑,即便有恶意驱动想往内核塞代码,也会被这一层拦下。
- 内核模式硬件强制堆栈保护:靠 CPU 的 CET(控制流强制技术,专门防返回地址被篡改的硬件机制)实现,只对编译时启用了该保护的程序生效。
| 功能 | 防护目标 | 硬件前提 | 开启后的实际影响 |
|---|---|---|---|
| 内存完整性 | 内核态代码注入、恶意驱动 | CPU 支持 VT-x 或 AMD-V | 有少量性能开销,部分老驱动直接失效 |
| 硬件强制堆栈保护 | 栈上返回地址被改写 | CPU 支持 CET | 不兼容的旧程序可能启动即崩溃 |
大多数人说的“设置内核隔离”,指的其实是开第一项。下面的步骤也都围绕内存完整性来。
开之前先确认虚拟化是打开的
内存完整性依赖虚拟化,硬件层面没开,软件开关按了也白按。最快的确认方式是任务管理器:切到“性能”选项卡,点左侧的 CPU,右下角有一行“虚拟化”,后面写着“已启用”就没问题。

如果这里显示“已禁用”,需要重启进 BIOS 打开。Intel 平台一般叫 Intel Virtualization Technology 或 VT-x,AMD 平台叫 SVM Mode 或 AMD-V,位置多在 Advanced → CPU Configuration 下面。各家主板菜单措辞不太一样,找不到就翻 CPU 相关的子项。
正式开启的操作路径
- 按
Win + S搜索“Windows 安全中心”并打开 - 点左侧的“设备安全性”
- 找到“内核隔离”一栏,点右侧的“内核隔离详细信息”
- 把“内存完整性”的开关拨到开
- 重启电脑,设置才会真正落地
家庭版也有这个入口,不必去找什么专业版专属功能。整个内核隔离的设置流程就这五步,难点全部在后面。
开关是灰的,鼠标点不动
这种情况挺常见的,原因通常是下面几类:
- 虚拟化在 BIOS 里没打开,系统直接把开关锁死
- 当前账户不是管理员,安全中心不给你改
- 公司统一管控的电脑,组策略把这一项固定住了
- 第三方安全软件接管了设备安全性相关设置
先看页面上有没有“查看不兼容的驱动程序”这个链接,有的话点进去,问题基本就暴露了。再看看是不是管理员账户,普通账户开不了这个开关。
如果前两项都排除了,查注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity,把里面的 Enabled 改成 1,重启。组策略路径是计算机配置 → 管理模板 → 系统 → Device Guard → 打开基于虚拟化的安全,把它设为“未配置”或“已启用”再试。
重启后弹出“内存完整性已关闭”
这是最常见的分支。系统能识别到有驱动不兼容,于是自己把保护关了,还弹个通知。点开通知,它会点名具体是哪个 .sys 文件拦路。多半是老声卡驱动、老网卡驱动、安卓模拟器自带的驱动、某些游戏反作弊组件,或者国产安全软件的底层模块。
处理思路不复杂:记下文件名,到设备管理器里勾上“查看 → 显示隐藏的设备”,逐个比对可疑设备;能找到对应软件的,去官网更新驱动,或者干脆卸载那个软件;卸完再回来重新打开内存完整性,重启验证。
讲真,别直接钻进 C:\Windows\System32\drivers 硬删文件。删错一个系统盘可能就进不去了。想先摸清底细,用管理员命令行跑 pnputil /enum-drivers,能把第三方驱动列表列出来。
开完之后游戏掉帧、模拟器打不开
开启内存完整性等于让系统常驻一层虚拟化,帧数掉几个百分点属于正常范围内的代价,多数人察觉不到。真正难受的是安卓模拟器、VMware、VirtualBox 这类软件,它们要跟 Hyper-V 抢虚拟化层,表现就是启动报错或者卡成幻灯片。
想确认当前状态,管理员命令行执行 bcdedit /enum {current},看 hypervisorlaunchtype 这一项的值。Auto 表示虚拟化层随系统启动,Off 表示不启用。
这里有个取舍要提前想清楚:把内核隔离关掉、或把 hypervisorlaunchtype 设成 Off,WSL2、Windows 沙盒、Docker Desktop 这些依赖 Hyper-V 的功能会跟着失效。为了一个模拟器关掉一整条虚拟化链路,值不值自己掂量。
怎么确认它真的跑起来了
开关拨过去不算数,得看运行时状态。按 Win + R 输入 msinfo32 回车,在“系统摘要”里找“基于虚拟化的安全性”,显示“正在运行”就说明生效了。
更精确的办法是用管理员权限打开 PowerShell,执行:
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
看返回结果里的 SecurityServicesRunning 字段,值是 2 代表内存完整性正在运行,值是 0 就是没起来。
想关掉的话原路返回
路径和开启时一样:Windows 安全中心 → 设备安全性 → 内核隔离详细信息 → 把内存完整性开关拨回去。拨完同样要重启,个别机器会提示需要重启两次才彻底关闭,属于正常现象。整个过程里,重启永远是绕不开的最后一步。