如何在启动时关闭Windows内核调试?

10

我有一台32位的Vista机器,我想在本地启用内核调试。 在WinDbg中,我选择了File/Kernel Debug,然后选择了Local选项卡并单击确定。 我收到了以下消息。

系统不支持本地内核调试。... 在Windows Vista中,默认禁用本地内核调试,您必须运行“bcdedit -debug on”并重新启动才能启用它。

我天真地按照指示打开提权命令提示符,并键入“bcdedit -debug on”,然后重新启动。

然而,在重新启动时,系统在到达登录屏幕或输入用户名和密码后就会挂起。

我怀疑正在发生的是因为启用了调试器,用户模式异常正在触发内核调试进程,并且它正在等待我从附加的调试器输入一些内容?

我希望在实际目标机上进行调试。

我的问题是每次启动时,无论我选择哪个F8引导选项,它总是要么挂起,要么到一定程度后重新启动,然后又挂起。

在安全模式下启动-接近登录屏幕,然后重新启动。 命令行和网络引导选项也是如此。 上一次良好的配置-也会挂起。

是否有任何方法可以在Windows加载之前更改引导选项,以便我可以关闭内核调试。 我只有一个引导配置文件,这是我的问题-我应该为我的调试引导选项创建第一个引导配置文件的副本。

不幸的是,系统没有串口,因此我无法尝试通过串口进行调试。

现在我唯一的选择是尝试通过USB端口从不同的计算机连接调试器。 但是,我需要配置目标PC以接受USB端口上的调试器,还是只要我获得正确的调试USB电缆就可以工作?


1
只有连接了调试器,它才会进入调试模式。仅仅启用调试通常是不够的,必须实际连接调试器。 - 0xC0000022L
2个回答

10

成功地找到了让机器重新运行的方法。

在重新启动时按F8可以得到修复选项。 选择“修复”会出现许多其他选项,包括还原到以前的还原点和打开命令提示符。

我尝试了以下操作...

打开命令提示符并输入“bcdedit -debug off”,虽然被接受但似乎没有帮助。 然后我尝试将其还原到几天之前的还原点。再次重新加载卡住了。

原因是...这两个操作都没有真正关闭启动配置的调试选项。

我需要做的是:在修复菜单中 - 打开命令提示符。 然后键入 bcdedit /enum 以列出引导配置。 然后调用

bcdedit /set {default} debug off

我猜测我最初尝试运行bcdedit -debug off时,由于没有指定特定的配置名称,导致它关闭了引导管理器配置上的调试(而它本来就是关闭的)。


哇,谢谢!我正处于完全相同的情况下,我确信我必须重新安装Windows,感谢您发布这个解决方案。 - Daniel Kleinstein
启动配置数据无法打开,我也遇到了同样的问题,即使我没有启用调试类型。如果我进入命令提示符,我也无法获取启动选项。 - david

8

不需要使用修复选项!只需按下 F10 而非 F8,就可以编辑 启动参数!只需删除 /DEBUG 并按回车键继续引导过程。设置完成后,使用 bcdedit -debug off 永久更改调试选项。


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