找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2291

积分

0

好友

309

主题
发表于 4 小时前 | 查看: 2| 回复: 0

最近入手了一台联想 ThinkBook 14 G7+ IAH,预装 Windows 11,打算在上面跑 VMware Workstation。我的目标是创建 Ubuntu 22.04 虚拟机,并在其中运行 QEMU/KVM 虚拟机,实现经典的嵌套虚拟化场景。

理想很美好,现实却一路踩坑。最终发现,罪魁祸首是 Windows 11 默认开启的 VBS(基于虚拟化的安全性)Credential Guard。本文将记录从联想知识库方法到微软官方文档的完整排查与解决过程。

环境信息

机型 主机系统
ThinkBook 14 G7+ IAH Windows 11
虚拟化平台 Guest OS
VMware Workstation Ubuntu 22.04

虚拟化架构与问题

我的目标是一个三层嵌套虚拟化架构:

  1. Windows 11 宿主机 (Intel VT-x)
  2. ↓ VMware Workstation (嵌套虚拟化已开启)
  3. ↓ Ubuntu 22.04 Guest
  4. ↓ QEMU/KVM 虚拟机 ← Watchdog 超时!

问题现象:
在 Ubuntu 22.04 中使用 virt-managervirsh 创建 KVM 虚拟机时,启动后反复出现 watchdog 超时错误,导致虚拟机无法正常运行。

排查过程:三个阶段

从发现问题到解决,我经历了三个阶段。前两个阶段采用了网络常见方法,均告失败;第三阶段依据微软官方文档,才彻底解决问题。

阶段一:关闭 Hyper-V 和容器功能(失败)

这是搜索引擎里最流行的方案。

操作步骤:

  1. 关闭 Windows 可选功能: 进入 控制面板 -> 程序和功能 -> 启用或关闭 Windows 功能,取消勾选:
    • Hyper-V (包括所有子项)
    • Virtual Machine Platform (虚拟机平台)
    • Windows 沙盒
    • Windows 虚拟机监控程序平台
    • 容器 (如有)
  2. 重启验证。

结果: VMware 可以运行 Ubuntu 虚拟机,但 Ubuntu 内的 KVM 仍报 watchdog 超时。未解决。

阶段二:联想知识库方法(知识编号 423992,失败)

参考联想官方文章《Win11 最新关闭 VBS 的几种方法》,执行更完整的操作流程:

  1. 关闭内核隔离: Windows 安全中心 -> 设备安全性 -> 内核隔离详细信息,关闭内存完整性固件保护(如有)。
  2. 关闭 Hypervisor 启动: 以管理员运行CMD,执行:
    bcdedit /set hypervisorlaunchtype off
  3. 运行微软 DG Readiness Tool 脚本: 以管理员运行 PowerShell,执行:
    # 进入脚本所在目录
    cd C:\path\to\dgreadiness
    # 允许运行远程签名的脚本
    Set-ExecutionPolicy RemoteSigned
    # 执行禁用 VBS
    .\DG_Readiness_Tool_v3.6.ps1 -Disable
  4. 进 BIOS 关闭安全启动: 重启进BIOS(ThinkBook 通常按 F2Fn+F2),在安全选项卡中关闭安全启动(Secure Boot),清除默认启动密钥(如有),保存退出。
  5. 开机确认: 启动时若弹出关闭提示,按 F3 确认。

结果: 重启后,在 msinfo32 中检查,VBS 状态依然显示 “已启用,但尚未运行”

msinfo32显示VBS状态仍为已启用
执行联想知识库全部方法后,VBS 框架依然处于启用状态。

关键发现:
截图信息显示,虽然 Services ConfiguredServices Running 为空(无实际服务运行),但 VBS 框架本身处于启用状态。这足以占用虚拟化资源,干扰 VMware 的嵌套虚拟化。联想的方法未能触及 Credential Guard 的注册表配置,因此 VBS 框架拒绝完全退出。

阶段三:微软官方方案——修改注册表(成功)

最终在微软官方文档 Configure Credential Guard 中找到答案。当 Credential Guard 非通过 UEFI Lock 或组策略启用时,可直接修改注册表禁用。

操作步骤:
以管理员身份运行 regedit,修改以下两个注册表键值:

1. 第一个键值 属性
路径 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
键名 LsaCfgFlags
类型 REG_DWORD
0
2. 第二个键值 属性
路径 HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard
键名 LsaCfgFlags
类型 REG_DWORD
0

也可以使用命令行一步到位:

REM 设置第一个注册表键值
reg add HKLM\SYSTEM\CurrentControlSet\Control\Lsa /v LsaCfgFlags /t REG_DWORD /d 0 /f

REM 设置第二个注册表键值
reg add HKLM\SOFTWARE\Policies\Microsoft\Windows\DeviceGuard /v LsaCfgFlags /t REG_DWORD /d 0 /f

REM 重启计算机使修改生效
shutdown /r /t 0

⚠️ 注意事项:

  • 必须将键值显式设为 0,仅删除注册表项可能无效。
  • 修改后必须重启才能生效。

结果: 重启后,msinfo32 中 VBS 状态变为 “未启用”,KVM 嵌套虚拟化恢复正常!✅

验证是否生效

重启后,可通过以下方式验证:

  1. 系统信息查看:Win + R 输入 msinfo32,查看“基于虚拟化的安全性”状态,应为 “未启用”
  2. PowerShell 命令验证:
    # 查询 VBS 安全服务运行状态
    (Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard).SecurityServicesRunning
    # 返回 0 = 未运行(已关闭)
    # 返回 1 = 正在运行

为什么联想知识库的方法不够?

联想知识库的方法(关闭功能、内核隔离、bcdedit、DG脚本、安全启动)已很全面,对多数场景应足够。但在我的 ThinkBook (预装 Windows 11 22H2) 上却无效,原因在于:

Windows 11 22H2 及更新版本默认启用了 Credential Guard,其启用状态独立写在注册表中。 即使你关闭了所有相关功能和选项,只要注册表 LsaCfgFlags 的值不为 0,VBS 框架就会保持“待命”状态,从而占用虚拟化资源。

关键细节: 很多教程只修改了 Lsa 路径下的 LsaCfgFlags,但遗漏了 DeviceGuard 路径下同名的键值。两个都要改为 0,缺一不可。

完整操作清单与安全提示

如果你遇到相同问题,建议按此顺序操作。前序步骤是必要基础,加上最后的注册表操作才能彻底关闭 VBS。

📋 完整操作清单:

  • ✓ 关闭 Windows 功能:Hyper-V、容器、虚拟机平台、Windows 沙盒。
  • ✓ 关闭 Windows 安全中心 -> 内核隔离 -> 内存完整性。
  • ✓ 执行 bcdedit /set hypervisorlaunchtype off
  • ✓ 运行微软 DG Readiness Tool: DG_Readiness_Tool_v3.6.ps1 -Disable
  • ✓ 进 BIOS 关闭安全启动 (Secure Boot),清除启动密钥。
  • 注册表 Lsa\LsaCfgFlags 显式设为 0
  • 注册表 DeviceGuard\LsaCfgFlags 显式设为 0
  • ✓ 重启计算机,并用 msinfo32 验证 VBS 状态为“未启用”。

💡 安全提示:
关闭 VBS 和 Credential Guard 会降低系统的凭据保护级别。如果无需运行嵌套虚拟化,建议保持默认开启。此操作主要在开发或测试场景下进行。另外,关闭 VBS 后 Windows Hello PIN 可能会失效,可能需要改用密码登录或重新设置 PIN。

总结

核心结论很明确:对于 Windows 11 22H2+ 系统上的嵌套虚拟化问题,联想知识库提供的方法是必要的基础操作,但还不够彻底。必须额外通过注册表显式关闭 Credential Guard(修改两处 LsaCfgFlags 值为 0),才能完全禁用 VBS 框架,从而解决 VMware 内 KVM 的 watchdog 超时问题。

希望这篇在云栈社区分享的完整排查记录,能帮你少走弯路。如果你在配置复杂的虚拟化环境或解决 Windows 11 系统兼容性问题时还有其他心得,也欢迎交流探讨。

参考链接:




上一篇:深度分析:苹果开放替代支付渠道,中国开发者年省310亿数据推演
下一篇:私域运营实战:高手都在用的私域成交公式,告别流量浪费
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-3-19 11:50 , Processed in 0.480810 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表