Debugging Tools for Windows

BCDEdit /set

/set 命令在引导配置数据存储中设置引导入口的选项值。使用该命令来配置指定引导入口的元素,例如内核调试设置、数据执行保护(DEP)和物理地址扩展(PAE),或者指定加载某个硬件抽象层(HAL)和内核文件。

bcdedit  /set [{ID}] datatype value

参数

[{ID}
{ID} 是该引导入口关联的GUID。如果没有指定{ID},命令修改当前激活的系统。如果要指定引导入口,它的GUID必须用大括号{ }括起来。要查看所有激活的引导入口的GUID值,使用bcdedit /enum 命令。

datatype value

bootlog [ yes | no]
启用系统初始化日志。

hal file
设置系统加载指定的HAL文件。该文件必须放在%SystemRoot%\system32 目录下,并且文件名要符合8.3字符格式。

increaseuserva Megabytes
为用户模式虚拟地址空间指定以MB为单位的内存总数。这个变量可以是2048(2GB)到3072 (3 GB)MB之间的任何10进制值。Windows为内核使用剩下的地址空间(4GB减去指定的值)。
kernel file
设置系统加载指定的内核文件。该文件必须放在%SystemRoot%\system32 目录下,并且文件名要符合8.3字符格式。

nolowmem [ on | off ]
控制低内存的使用。当设置了nolowmem on 时,操作系统、设备驱动和所有应用程序都加载到4GB边界的内存空间以上,并且指定Windows在4GB边界以上分配所有内存池。
loadoptions /busparams=Bus.Device.Function
当存在多个控制器时,指定目标控制器。该语法在使用1394电缆或USB 2.0调试电缆进行调试时可以使用。Bus用于指定总线号, Device用于指定设备号,Function指定功能号对于USB 2.0调试,必须使用16进制指定bus参数。对于1394调试,必须用10进制指定bus参数。

nolowmem [ on | off ]
控制对低内存的使用。如果指定了nolowmem on,会使得操作系统、设备驱动和所有应用程序都被加载到低于4 GB边界的地址中,并且让Windows从4GB边界以上的地址中分配内存池。

nx [Optin |OptOut | AlwaysOn |AlwaysOff]
启用、禁用和配置数据执行保护(DEP),既一组用于防止恶意代码在被保护内存上执行的硬件和软件技术。关于使用控制面板来修改DEP设置的信息,查看Windows帮助和操作方法站点上的  更改数据执行保护(Change Data Execution Prevention settings) 页面。
Optin
只为包括Windows内核和驱动程序在内的系统组件启用DEP。管理员可以使用应用程序兼容性工具(Application Compatibility Toolkit (ACT))在选定的可执行文件上启用DEP。
Optout
为包括Windows 内核和驱动程序在内的所有进程启用DEP。但是,管理员可以在控制面板里面的系统中为选定的可执行文件禁用DEP。
AlwaysOn
为包括Windows 内核和驱动程序在内的所有进程启用DEP。禁止所有试图禁用DEP的尝试。
AlwaysOff
禁用DEP。所有试图启用DEP的操作都被跳过。

在Windows Vista中,这个参数同时禁用物理地址扩展(PAE)。在Windows Server 2008中该参数不禁用PAE。

onecpu [ on | off ]
在多于一个逻辑处理器的机器上,强制只使用引导的CPU。

例如,下面的命令设置只使用一个处理器。

bcdedit /set onecpu on

pae [ Default | ForceEnable | ForceDisable ]

pae 参数只在基于x86和x64处理器的运行32位Windows的机器中有效。在32位Windows中,PAE默认是禁用的。但是,在x86处理器的系统上,当机器在Static Resource Affinity Table (SRAT)表中为热添加内存设备(hot-add memory devices)配置超过4GB范围的内存时,自动启用PAE。热添加内存设备(Hot-add memory supports memory devices )可以在不关闭机器电源的情况下添加到系统中。这种情况下,由于PAE必须在系统启动时启用,所以系统在重起之前即可食用扩展的内存。热添加内存仅在Windows Server 2008企业版、Windows Server 2003 企业版和Windows Server 2003Datacenter版中支持,并且必须由ACPI BIOS、x86处理器和其他特殊设备支持。

在所有支持硬件数据执行保护(DEP)的运行支持DEP的32位Windows的机器上,当DEP被打开时PAE也自动启用;在除了Windows Server 2003 SP1之外的32位Windows 系统中,禁用DEP时同时也禁用PAE。要在DEP禁用的情况下启用PAE,必须使用/set nx AlwaysOff/set pae ForceEnable命令明确启用PAE 。关于DEP的更多信息,查看用于配置DEP和PAE的引导参数

在x86处理器的机器上使用高速缓存连贯的非均匀内存架构(称为ccNUMA或NUMA)必须要PAE的支持,尽管Windows可以在支持NUMA的机器上没有PAE运行于非NUMA模式下。即使需要,PAE也不是自动启用的。NUMA在Windows XP所有版本和Windows Vista、Windows Server 2003的Enterprise 和Datacenter版本上支持。

pae 参数和其他作用于PAE配置的参数的信息,查看用于配置DEP和PAE的引导参数

如果在安装了4GB内存的计算机上运行32位Windows Vista,能够使用的内存总数可能比预期的要少。更多关于内存使用的信息,可以在Microsoft知识库中查看Q929605号文章 "The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed"

quietboot [ on | off ]
控制在Windows引导时的屏幕中控制引导过程中的所有位图显示。在Windows Vista之前的系统中,/noguiboot 参数有相似的作用。
removememory Megabytes
在操作系统可使用的总内存减少一部分。

例如,下面的命令将指定引导入口加载的系统的可用内存减少256M。

bcdedit /set {49916baf-0e08-11db-9af4-000bdbd316a0} removememory 256

sos [ on | off ]
控制在引导过程中对加载的驱动程序名字的显示。使用sos on 显示名字,sos off 禁止显示。
truncatememory address
限制Windows使用的物理内存总数。使用这个选项时,Windows忽略大于指定的物理地址的所有内存。以字节为单位指定Address

例如,下面的命令限制物理地址在1 GB。可以用十进制(1073741824)或16进制(0x40000000)来指定。

bcdedit /set {49916baf-0e08-11db-9af4-000bdbd316a0} truncatememory Ox40000000

usefirmwarepcisettings [ yes | no ]
启用或者禁用BIOS中设置的周边元件扩展接口(PCI)资源。
vga [ on | off ]

强制使用VGA显示驱动。

注释

关于特定BCD元素和引导选项的信息,可以使用BCDEdit /? OSLOADERBCDEdit /? TYPES OSLOADER命令查看。

查看当前引导入口和它的设置,使用bcdedit /enum 命令。该命令显示当前激活的引导入口和它的全局唯一标识符(GUID)。在/set 命令中用这个标识符来配置特定引导入口的选项。

关于BCDEdit的一般使用的命令,查看  Boot Configuration Data Editor Frequently Asked Questions

Build machine: CAPEBUILD