1 背景
Windows的启动的早期阶段,大致分为3步:bootmgr,winload,nt内核加载。
下图是Winload阶段的一个报错。

如果出现Windowslogo,一般就是进入nt内核加载了。
我们经常开的调试功能是nt内核加载后的调试。无法调试winload。
如果故障环境,无法正常进入Windows,甚至连安全模式都进入不了,那么试图开启Windows调试就不知所措了。
2 原理
参阅BCDEdit /bootdebug。
在以下示例中,命令启用 Windows 启动管理器、启动加载程序调试,然后对操作系统进行内核调试。 这种组合允许在每个启动阶段进行调试。 如果使用此组合,则目标计算机将进入调试器三次:加载 Windows 启动管理器时、启动加载程序加载时以及操作系统启动时。
bcdedit /bootdebug {bootmgr} on
bcdedit /bootdebug on
bcdedit /debug on
随后用bcdedit /dbgsettings可以对全局的调试参数做配置,例如串口调试
bcdedit /dbgsettings serial debugport:1 baudrate:115200
对于MBR分区硬盘,这些配置栏目实际上是保存在BCD文件中。
从diskmgmt.msc可以找到活动分区,有时候是C盘,有时候是C盘

本文介绍了当Windows无法正常启动,甚至安全模式也无法进入时,如何通过编辑BCD文件来开启内核调试。详细讲解了BCDEdit的原理,并提供了两种方法:单独编辑BCD法和cmd编辑法,帮助在故障环境中进行调试。
最低0.47元/天 解锁文章
735

被折叠的 条评论
为什么被折叠?



