如何在启用安全启动的情况下调试Windows内核?

3

有没有一种方法/技巧,可以在开启安全启动的情况下调试Windows内核?当我尝试在Windows开启安全启动时打开调试模式时,系统会提示我需要关闭安全启动。

目标机器是Win 10 x64。

编辑:我正在使用VMware,这是我想要调试的虚拟机。


1
我认为如果它处于安全模式,那么它就是安全的... 如果不是,调试将会打破安全性,不是吗? - Jean-Baptiste Yunès
@Jean-BaptisteYunès 但是一定有办法的,我正在使用VMware,它是一个虚拟机,所以我怀疑没有针对这个的调整或其他任何方法。 - OneAndOnly
2个回答

2
这是对thtse的答案的另一种选择(对我无效)。我假设你正在使用vmware。首先,请确保您已经开启了安全启动,可以在系统信息中查看。

enter image description here

关闭您的系统。在vmware中添加一个COM端口,使用这些设置完全一样enter image description here 启动您的系统。打开管理员CMD.exe(不是powershell),并执行以下操作:
bcdedit /dbgsettings serial debugport:2 baudrate:115200
bcdedit /set {bootmgr} displaybootmenu 1
bcdedit /bootems 1
bcdedit /ems 1

重新启动您的系统。一旦EMS引导菜单出现,通过管理员CMD.exe在主机上启动windbg:
windbg.exe -k com:pipe,port=\\.\pipe\com_port,resets=0,reconnect

在 EMS 引导菜单选项上按 F8,选择“调试模式”。Windbg 应该会附加。这使用了来自https://twitter.com/jonasLyk/status/1424581181794889732使用 VMware 虚拟机进行内核调试的信息。

1

在安全启动的情况下是否有任何调试方法/技巧?

Windows内核调试不需要禁用安全启动。

只有在尝试启用内核调试(bcdedit /debug on)之前,禁用安全启动才是必要的。完成启用内核调试的操作后,可以重新启用安全启动,并且它不会影响刚刚启用的内核调试设置。


这个不起作用。启用了安全启动并重新启动后,它不再进入调试器。在虚拟机上测试过。 - Sriharsha Madala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接