在一些基于windows的设备中,我们希望在程序控制windows重启时,windows每次都能正常启动,但有时候windows会遇到种种原因无法启动,这时我们需要定位到底是在启动什么步骤时出错,为了定位故障原因,我们需要将windows 的启动日志记录下来。
记录启动日志的方式是
在 boot.ini 中加一个 /bootlog 的参数,加了这个参数后,机器重启后,会自动把启动的日志记录在 c:\windows 目录下的 ntbtlog.txt 文件中。通过查看这个日志文件,我们可以了解windows启动过程中的一些详细情况。
下面列出boot.ini 的所有参数:
/basevideo
/basevideo 开关通过使用与所有视频适配器都兼容的视频驱动程序来强制系统进入标准 640x480 16 色 VGA 模式。该开关允许您在选择了错误的视频分辨率或刷新频率时加载系统。请将该开关与 /sos 开关一起使用。如果安装了新的视频驱动程序,而该驱动程序工作不正常,则可使用该参数来启动操作系统。然后可以删除、更新或回滚到有问题的视频驱动程序。
/baudrate=number
该开关设置用于内核调试的调试端口的波特率。例如,可键入 /baudrate=9600。在连接有调制解调器时,默认的波特率是每秒 9600 千位 (Kbps)。当使用假调制解调器电缆连接时,默认的波特率是 115,200 Kbps。9,600 是通过调制解调器进行远程调试的正常速率。如果在 Boot.ini 文件中存在该开关,则自动启用 /debug 开关。
有关调制解调器配置的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
148954 如何使用调制解调器设置远程调试会话
有关无调制解调器配置的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
151981 如何使用无调制解调器电缆设置远程调试会话
/crashdebug
该开关在启动操作系统时加载内核调试程序。该开关将保持非活动状态直到出现 Stop 错误消息。/crashdebug 开关对于处理随机性内核错误非常有用。使用该开关,可在 Windows 运行时照常使用 COM 端口。当 Windows 出现故障时,该开关将把该端口转换为调试端口。(该操作将启动远程调试。)
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
151981 如何使用无调制解调器电缆设置远程调试会话
/debug
该开关在启动 Windows 时打开内核调试程序。如果想要通过 COM 端口打开 Windows 系统实时远程调试功能,则该开关可随时通过连接到计算机的主机调试程序激活。与 /crashdebug 开关不同,/debug 无论是否正在调试都将使用 COM 端口。当您在调试有规律地重复出现的问题时可使用该开关。
有关远程调试的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
121543 设置远程调试
/debugport=comnumber
该开关指定用作调试端口的通信端口,其中 number 是要使用的通信端口,例如 COM1。默认情况下,如果 COM2 端口存在,则 /debugport 将使用 COM2 端口。否则,该开关将使用 COM1。如果在 Boot.ini 文件中包含该开关,/debug 开关将会被激活。
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
151981 如何使用无调制解调器电缆设置远程调试会话
/maxmem=number
该开关指定 Windows 可以使用的 RAM 数量(以字节为单位)。例如,如果您希望 Windows 使用少于 64 MB 的内存,则使用 /maxmem=64 开关。
但是,/maxmem 开关不将内存空洞计算在内。 因此,我们建议您改为使用 /burnmemory 开关。/burnmemory 开关会将内存空洞计算在内。
例如,如果您使用 /Maxmem=64 开关,而系统需要 64 MB 的内存才能加载,则由于存在内存空洞,系统实际可用的内存可能不足 64 MB。在这种情况下,Windows 将不会启动。
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
108393 Windows Boot.ini 文件中的 /maxmem 开关
/noguiboot
该开关禁用 Windows 启动时显示进度栏的位图。(进度栏就出现在登录提示之前。)
/nodebug
该开关用于关闭调试功能。如果在某个程序软件中有硬件调试断点,这种情况可能导致出现 Stop 错误。
/numproc=number
该开关设置 Windows 启动时使用的处理器数。使用此开关,可以强制多处理器系统仅使用指定数量的处理器 (number)。该开关可帮助您解决性能问题和有缺陷的 CPU 的问题。
/pcilock
对于基于 x86 的系统,该开关阻止操作系统为 Peripheral Connect Interface (PCI) 设备动态分配硬件输入、硬件输出和中断请求资源。使用该开关,BIOS 可以配置这些设备。
/fastdetect:comnumber
该开关将关闭 Ntdetect.com 文件对指定端口上串行鼠标和总线鼠标的检测功能。如果在启动过程中您在串行端口上连接了除鼠标以外的组件,则可使用该开关。例如,键入 /fastdetect:comnumber,其中 number 是串行端口号。可使用逗号分隔多个端口号以关闭一个以上的端口。如果使用 /fastdetect 但未指定通信端口,则将关闭所有通信端口上的串行鼠标检测功能。
注意:在包括 Windows NT 4.0 在内的 Windows 早期版本中,该开关被命名为 /noserialmice。
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
131976 如何禁用串行端口上的设备检测
/sos
/sos 开关在设备驱动程序被加载时显示其名称。默认情况下,Windows Loader 屏幕仅显示进度点。可将该开关与 /basevideo 开关一起使用以确定引发故障的驱动程序。
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
99743 Windows 2000 或 Windows NT 中 BOOT.INI 文件的功能
/PAE
在 Boot.ini 中使用 /PAE 开关及相应的条目可允许支持物理地址扩展 (PAE) 模式的计算机正常启动。在安全模式下,即使指定了 /PAE 开关,计算机也使用正常内核启动。
/HAL=filename
使用该开关,可定义在启动过程中实际加载的硬件抽象层 (HAL)。例如,键入 /HAL=halmps.dll 加载 System32 文件夹中的 Halmps.dll。 该开关可用于在将该文件重命名为 Hal.dll 之前测试一个不同的 HAL。此外,该开关在您尝试在多处理器模式启动和单处理器模式启动之间进行切换时也很有用。为此,请将该开关与 /kernel 开关一起使用。
/kernel=filename
使用该开关,您可以定义在启动过程中实际加载的内核。例如,键入 /kernel=ntkrnlmp.exe 加载 System32 文件夹中的 Ntkrnlmp.exe。 使用该开关,您可以在启用了调试功能的满载调试代码的内核与正常内核之间进行切换。
/bootlog
该开关打开启动日志记录功能,启动日志被记录到 systemroot\Ntbtlog.txt 文件中。有关启动日志的更多信息,请参见 Windows 帮助。
/burnmemory=number
该开关指定 Windows 不能使用的内存数(以兆字节为单位)。可使用该参数来确定性能问题或其他与 RAM 消耗有关的问题。例如,键入 /burnmemory=128 将 Windows 可用的物理内存减少 128 MB。
/3GB
该开关强制基于 x86 的系统为程序分配 3 GB 的虚拟地址空间,为内核及可执行组件分配 1 GB 的虚拟地址空间。程序在设计上必须能够利用额外的内存地址空间。使用该开关,用户模式程序能够访问 3 GB 的内存而不是通常 Windows 分配给用户模式程序的 2 GB 的内存。该开关将内核的内存起始位置移至 3 GB 处。某些 Microsoft Exchange Server 2003 和 Microsoft Windows Server 2003 的配置可能需要使用该开关。
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
823440 在基于 Windows Server 2003 的系统上的 Exchange Server 2003 中使用 /3GB 开关
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
171793 有关应用程序使用 4GT RAM 调节的信息
/safeboot:parameter
该开关使 Windows 以安全模式启动。该开关使用以下参数:
- minimal
- network
- safeboot:minimal(alternateshell)
/safeboot:parameter 参数可与其他 Boot.ini 参数结合使用。下面的示例给出了当从启动恢复菜单中选择一个安全模式选项时实际使用的参数。
- 带网络连接的安全模式
/safeboot:minimal /sos /bootlog /noguiboot - 带网络连接的安全模式
/safeboot:network /sos /bootlog /noguiboot - 带命令提示的安全模式
/safeboot:minimal(alternateshell) /sos /bootlog /noguiboot
注意:/sos、/bootlog 和 /noguiboot 开关在这些设置中并不是必需的,但这些开关会有助于排除故障。当您按 F8 并选择一种模式后,这些开关会被采用。
/userva
可使用该开关自定义当使用 /3GB 开关时分配给进程的内存量。该开关允许更多的页表项目 (PTE) 内核内存,同时仍然保留将近 3 GB 的进程内存空间。
注意:Microsoft 产品支持服务极力建议将对 /USERVA 开关使用的内存范围限制在 2900-3030 内。此范围足以为当前发现的所有问题提供足够大的系统页表项目池。通常,设置为 /userva=2900 时提供的数量与系统页表项目的最大可用数接近。
有关如何使用 /USERVA 开关的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
316739 如何使用 /userva 和 /3GB 开关将用户模式空间调整为介于 2 GB 和 3 GB 之间的值
有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
810371 在运行 Exchange Server 的基于 Windows Server 2003 的计算机上使用 /Userva 开关
323427 如何在 Windows Server 2003 环境中手动编辑 Boot.ini 文件
317526 如何在 Windows Server 2003 中编辑 Boot.ini 文件
317521 BOOTCFG 命令及其用法说明
289022 如何在 Windows XP 中编辑 Boot.ini 文件
291980 Bootcfg 命令及其用法讨论
/redirect
可使用该开关在基于 Windows Server 2003 Enterprise Edition 的计算机上启用紧急管理服务 (EMS)。有关 EMS 的其他信息,请在“Windows 帮助和支持”中搜索“紧急管理服务”。
要在基于 x86 的计算机上通过编辑 Boot.ini 来启用 EMS,需要编辑 Boot.ini 文件的“[boot loader]”和“[operating systems]”部分。为此,请配置下列条目: