Debugging Tools for Windows

修改引导参数

要起用或配置引导相关的操作系统特性,例如调试,必须在该系统的引导入口中添加引导参数。


在Windows Server 2003及更早的基于NT内核系统中,和驱动程序开发、测试和调试相关的引导参数列表,查看Boot.ini 引导参数参考

在Windows Server 2003及更早的基于NT内核系统中驱动调试和测试的引导入口配置例子,可以查看使使用引导参数

在基于BIOS固件的运行Windows Server 2003及更早的基于NT内核Windows的机器上,可以通过使用Bootcfg或者记事本编辑Boot.ini文件来修改引导参数。在EFI固件的机器上,使用Bootcfg或Nvrboot。

修改Windows Vista或更迟版本Windows 系统的引导参数,使用BCDEdit。

使用Bootcfg

Bootcfg在OS Load Options 字段(EFI固件机器上标注为OsLoadOptions)中显示引导选项。

下面的例子是Bootcfg显示的EFI NVRAM中的引导选项。示例引导入口包含/fastdetect/debug参数,以及/debugport /baudrate子参数。

Boot entry ID:    2
OS Friendly Name: Microsoft Windows XP 64-Bit Edition
OsLoadOptions:     /fastdetect /debug /debugport=COM1 /baudrate=115200
BootFilePath:     \Device\HarddiskVolume1\EFI\Microsoft\WINNT50C\ia64ldr.efi
OsFilePath:       \Device\HarddiskVolume3\WINDOWS.0

在引导入口中增加引导参数,可以使用特定参数的选项,如/ems/debug,和/dbg1394或者Bootcfg /addsw /raw命令。查看Bootcfg参数的完整列表,可以在命令提示符下输入bootcfg /?

例如,下面的Bootcfg命令使用了Bootcfg /addsw /MM值为512的命令,在Boot Entries的第二个引导入口中添加了/maxmem引导参数,并将/maxmem 值设置为512(MB)。/ID 参数指定修改第二个引导入口(行号为2)。

bootcfg /addsw /MM 512 /ID 2

修改结果在64位Bootcfg的显示可能如下:

Boot entry ID:    2
OS Friendly Name: Microsoft Windows XP 64-Bit Edition
OsLoadOptions:     /fastdetect /debug /debugport=COM1 /baudrate=115200 /maxmem=512
BootFilePath:     \Device\HarddiskVolume1\EFI\Microsoft\WINNT50C\ia64ldr.efi
OsFilePath:       \Device\HarddiskVolume3\WINDOWS.0

编辑Boot.ini文件

Boot.ini文件中,引导参数紧跟着友好名。

下面的Boot.ini中的一个入口包含/fastdetect/debug参数,以及/debugport /baudrate子参数。

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Debug1" /fastdetect /debug /debugport=COM1 /baudrate=57600

增加启动参数,需要按照规定的语法输入参数。

例如,增加/maxmem选项,需要在入口参数列表中输入/maxmem 和以MB为单位的值。这些参数可以以任何顺序出现。下面的示例中,/maxmem参数和值512(MB)出现在参数表最后。

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows XP Debug1" /fastdetect /debug /debugport=COM1 /baudrate=57600 /maxmem=512

使用BCDEdit

在引导入口中增加引导配置参数,可以用BCDEdit的引导入口选项来修改全局设置,如/ems/debug/dbgsettings,或者使用BCDEdit /set选项来设置单个参数。 查看BCDEdit的完整参数列表,可以输入BCDEdit /?,也可以用BCDEdit /? <命令>查看指定的命令。

例如,下面的命令开启某个引导入口的PAE:

bcdedit /set {802d5e32-0784-11da-bd33-000476eba25f} pae forceenable

启动或禁用内核调试器,按如下语法使用/debug 选项:

bcdedit /debug <ID> [on | off]

<ID>是要修改的引导入口的GUID。如果不指定<ID>,则命令修改当前运行的系统。下面的命令启用名为DebugEntry的引导入口的内核调试器:

bcdedit /debug {49916baf-0e08-11db-9af4-000bdbd316a0} on

查看当前的所有引导入口,可以在命令提示符键入bcdedit。DebugEntry 的引导入口显示内核调试器被起用了。

Windows Boot Loader
-------------------
identifier              {49916baf-0e08-11db-9af4-000bdbd316a0}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             DebugEntry
locale                  en-US
inherit                 {bootloadersettings}
osdevice                partition=C:
systemroot              \Windows
resumeobject            {3e3a9f69-024a-11db-b5fc-a50a1ad8a70e}
nx                      OptIn
pae                     ForceEnable
debug                   Yes

Build machine: CAPEBUILD