Win7/Win10/Win11开启本地内核调试的方法
具体内容微软官方文档上都有:
https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/performing-local-kernel-debugging
https://learn.microsoft.com/zh-cn/windows-hardware/drivers/debugger/setting-up-local-kernel-debugging-of-a-single-computer-manually
但是实际操作过程中,难免会有些意外。。
比如如果你直接修改了当前启动项,并且一些参数没设置对,那么系统就有可能启动不起来了(关于如何拯救,后面会讲)。。。
下面开始保姆级操作,先以管理员权限打开cmd。
为避免修改出现问题,先把当前正常的启动项拷贝一份,拷贝完成后会提示新启动项的ID。
然后依次设置调试类型为LOCAL,并开启调试开关,如下:
C:\Windows\System32>bcdedit /copy {current} /d "Win11 Local Debug" 已将该项成功复制到 {1b683a38-47d6-11ef-8b4b-da98a4944350}。 C:\Windows\System32>bcdedit /set {1b683a38-47d6-11ef-8b4b-da98a4944350} debugtype LOCAL 操作成功完成。 C:\Windows\System32>bcdedit /debug {1b683a38-47d6-11ef-8b4b-da98a4944350} on 操作成功完成。 C:\Windows\System32>
然后重启系统,就会发现多了一项"Win11 Local Debug[启用调试程序]"的启动项。
选择它启动进系统之后,就可以启动windbg,依次打开“File”->“Kernel Debug...”,选择"Local",然后确定就可以了,效果如下:
这样就成功了!
至于不小心把当前系统启动项开启了内核调试结果进不去系统的,解决方案就是:
使用PE系统启动进入系统,然后使用BootIce的BCD高级编辑功能,打开BCD文件,根据名字找到当前系统的启动项,把内核调试开关关掉就可以了,如下图: