普通网友 2025-12-12 23:55 采纳率: 99.2%
浏览 0
已采纳

如何开启基于虚拟化的安全性功能?

如何在启用Hyper-V的情况下开启基于虚拟化的安全性(VBS)?部分用户在安装Windows 11后尝试开启VBS时,发现即使已开启Hyper-V和虚拟化功能,内存完整性(Memory Integrity)仍无法启用,系统提示“虚拟机监控程序已在运行,无法启动安全核心”。该问题常出现在启用了第三方虚拟化软件或Hyper-V与Core Isolation冲突的场景中。如何正确配置组策略、BIOS设置及关闭冲突服务以成功启用VBS,成为企业环境和高安全需求用户面临的关键技术难题。
  • 写回答

1条回答 默认 最新

  • 泰坦V 2025-12-12 23:58
    关注

    如何在启用Hyper-V的情况下开启基于虚拟化的安全性(VBS)

    1. 问题背景与现象描述

    在Windows 11系统中,基于虚拟化的安全性(Virtualization-Based Security, VBS)是核心安全机制之一,尤其依赖于内存完整性(Memory Integrity)功能来防止内核级恶意软件攻击。然而,许多用户在已启用Hyper-V和CPU虚拟化技术的前提下,尝试开启“内存完整性”时仍收到错误提示:

    “虚拟机监控程序已在运行,无法启动安全核心。”

    该问题并非系统故障,而是由于多个虚拟化层之间的资源竞争或配置冲突所致,常见于以下场景:

    • 启用了第三方虚拟化平台(如VMware Workstation、Oracle VirtualBox)
    • Hyper-V与Windows安全核心(Core Isolation)共存策略未正确配置
    • BIOS/UEFI中SLAT、VT-x/AMD-V、DMA保护等关键特性未启用
    • 组策略或注册表设置限制了VBS的初始化流程

    2. 技术原理:VBS与Hyper-V的底层架构关系

    VBS依赖于Windows Hypervisor Platform(WHP),而Hyper-V本身也构建在同一底层虚拟机监控程序(Hypervisor)之上。理论上,二者可以共存,但需满足特定条件:

    组件作用是否可共存于VBS环境
    Windows Hypervisor提供虚拟化抽象层是(必须启用)
    Hyper-V Role完整虚拟化平台服务是(需策略支持)
    Third-party VMM外部虚拟机管理器否(必须禁用)
    Device Guard旧版VBS策略控制兼容但建议迁移到新策略
    Secure Boot确保启动链完整性是(强制要求)
    DMA Protection防止物理设备直接内存访问攻击推荐启用
    Core Isolation用户态隔离机制依赖VBS启用状态
    WDAG (Windows Defender Application Guard)浏览器容器化防护增强型VBS应用
    Host Guardian Service服务器信任验证企业级扩展功能
    TPM 2.0可信平台模块必需硬件支持

    3. 冲突分析:为何出现“无法启动安全核心”

    当系统检测到已有非微软标准的虚拟机监控程序实例运行时,将阻止VBS初始化。这包括:

    1. VMware或VirtualBox加载其自身Hypervisor驱动(如vmx86.sys
    2. Hyper-V早期启动模式与VBS抢占资源顺序不一致
    3. 组策略中关闭了“允许启动具有嵌套的虚拟化”或相关安全策略
    4. EFI系统分区未正确签名或Secure Boot被禁用
    5. CPU微码版本过旧,不支持Mode-Based Execution Control (MBEC)

    4. 解决方案流程图

    ```mermaid
    graph TD
        A[开始] --> B{是否启用Hyper-V?}
        B -- 是 --> C[禁用第三方虚拟化软件]
        B -- 否 --> D[启用Hyper-V Windows功能]
        C --> E[检查BIOS设置]
        D --> E
        E --> F[开启VT-x/AMD-V, SLAT, Secure Boot, TPM 2.0]
        F --> G[启用DMA Protection]
        G --> H[配置本地组策略]
        H --> I[设置路径: Computer Configuration -> Administrative Templates -> System -> Device Guard]
        I --> J[启用“启用基于虚拟化的安全”]
        J --> K[选择“启用且强制实施”]
        K --> L[重启并进入高级启动选项]
        L --> M[运行msinfo32确认“虚拟化安全”状态]
        M --> N[VBS成功启用]
    

    5. 组策略与注册表关键配置项

    为确保Hyper-V与VBS协同工作,需调整以下策略:

    配置项路径推荐值
    启用基于虚拟化的安全性Computer\Policy\Administrative Templates\System\Device Guard已启用(强制实施)
    打开内存完整性Windows Security → Core Isolation开启
    Hypervisor Enforced Code IntegrityHKLM\SYSTEM\CurrentControlSet\Control\CI\Config\1DWORD: 1
    DisableAntiMalwareOptInHKLM\SOFTWARE\Policies\Microsoft\Windows Advanced Threat ProtectionDWORD: 0
    AllowTelemetryHKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollectionDWORD: 1(部分场景需要)
    EnableVirtualizationBasedSecurityHKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuardDWORD: 1
    RequirePlatformSecurityFeaturesSame as aboveDWORD: 3 (Secure Boot + DMA Protection)
    HVCI Compatibility ModeBCD Edit /set {current} vsmlaunchtype autoauto 或 native
    TestSigningBCD Edit /set testsigning off必须关闭
    Kernel DMA ProtectionDevice Manager → System Devices → Microsoft Kernel DMA Protection应显示为“Active”

    6. BIOS/UEFI层面的关键设置

    即使操作系统配置正确,若固件层未开放必要功能,VBS仍将失败。典型主板(如Dell Latitude、HP EliteBook、Lenovo ThinkPad)需检查如下选项:

    • Intel VT-x / AMD SVM(CPU虚拟化支持)→ Enabled
    • Intel VT-d / AMD-Vi(IOMMU/DMA重映射)→ Enabled
    • Secure Boot → On with Microsoft UEFI Certificate
    • Trusted Platform Module (TPM) → Enabled & Owned
    • Execute Disable Bit (XD) / No Execute (NX) → Enabled
    • CSM (Compatibility Support Module) → Disabled(否则Secure Boot失效)
    • Deep Sx State → 可设为Disabled以避免电源管理干扰
    • Thunderbolt Security → 若有雷电接口,建议设为User Authorization或Secure Only

    7. 验证与诊断命令

    完成配置后,使用以下工具验证VBS状态:

    # 检查系统信息中的VBS支持情况
    msinfo32.exe
    → 查看“虚拟化安全”、“基于虚拟化的安全性”、“设备加密支持”等字段
    
    # 使用PowerShell获取详细输出
    Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
    Output example:
    VirtualizationBasedSecurityStatus : 2 (Running)
    SecureBootEnabled : True
    UefiCodeIntegritySecurityVersion : 1
    LogicalProcessorCount : 8
    
    # 查询当前Hypervisor启动状态
    systeminfo | findstr /i "Hyper-V"
    
    # 检查内核完整性策略
    powershell "Confirm-SecureBootUEFI"
        
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 12月13日
  • 创建了问题 12月12日