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 baudrat