打印本文 打印本文  关闭窗口 关闭窗口  
解析BOOT.INI文件
时间:2004/12/16 13:05:44

微软NT内核操作系统使用一个名为BOOT.INI的文件对启动参数进行设置,从这一点上来说很像Windows 98中的MSDOS.SYS文件。但相比之下其功能更强大,参数也更规范。下面就向大家一一进行解析。

我们先来看一个标准的BOOT.INI文件:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(2)/WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(2)/WINDOWS="Microsoft Windows XP Professional" /fastdetect

C:/="Microsoft Windows 98

这个文件包含两个部分,用“[”和“]”加以区分。现在来说明一下这个文件的内在含义。

1.[boot loader]──系统加载部分

这个部分只有两个内容,分别是“timeout=”和“default=”。前者用于设置启动菜单的等待时间,默认为30秒,如果改为0就是不显示启动菜单;而“default=”是设置无人干预下默认启动的操作系统,在后面会有所说明。如果想修改,只要按格式写进去就行了。

2.[Opoerating systems]──操作系统部分

这里罗列了可以启动的所有操作系统,如果只安有Windows XP,则会显示multi(0)disk(0)rdisk(0)partition(2)/WINDOWS="Microsoft Windows XP Professional" /fastdetect。其中引号内的部分是开机时显示的选项名称,大家可以随意修改(支持中文显示)。而multi(0)disk(0)rdisk(0)partition(2)则涉及了一些高级复杂指令计算机命名规则,称之为ARC命名。其中第一部分用来表示磁盘控制器,有两个可选项multi和SCSI:前者表示IDE硬盘或SCSI BIOS可访问的硬盘,后者则是SCSI BIOS禁止的硬盘,后面括号内的数字表示控制器总线序号。Disk(0)表示SCSI总线号,如果前一部分参数为multi则还要用rdisk(x)标明硬盘设备序号。最后的partition(x)则表明操作系统在第几个分区上。我的Windows XP装在D盘,这里就是partition(2)。

3.启动开关

这个部分应当属于第二部分,只是因为比较复杂所以才独立出来讲解。

/BASEVEDIO:使用VGA显示驱动而不用SVGA驱动,用于显示驱动失效时。

/BAUDRATE:设定网络连接设备的波特率。

/BOOTLOG:将启动日志写入%SYSTEMROOT%/NTBTLOG.TXT。

/BURNMEMORY=X:使用指定的内存容量。

/CRASHDEBUG:对内核进行调试,在内存出错时很有用。

/DEBUG:对启动时的一切错误用调度器进行调试。

/DEBUGPORT=COMX:指定用于调度的端口。

/FASTDETECT:不检测系统串口和并口,加快启动速度。

/MAXMEM:N:设置可以使用的最大内存,超出的部分系统不进行检测,内存损坏可以进行测试。

/NODEBUG:不显示调试信息。

/NOGUIBOOT:启动时不加载VGA驱动,不会出现各种出错的蓝屏信息。

/NUMPROC=N:指定系统前N个CPU工作。

/ONECPU:只允许一个CPU工作。

/SAFEBOOT/ALTENATESHELL:指定内核程序,不用默认的explorer.exe启动系统。

/SAFEBOOT:使用安全模式启动。

/SOS:显示调用的驱动程序名,检测驱动是否损坏。

常见的boot.ini格式如下:

[boot loader]

timeout=10

default=multi(0)disk(0)rdisk(0)partition(2)/WINXP

[operating systems]

multi(X)disk(Y)rdisk(Z)partition(Q)/WINXP="Microsoft Windows XP Professional" /fastdetect

SCSI(X)disk(Y)rdisk(Z)partition(Q)/WIN98="Microsoft Windows 98" /fastdetect

以下着重介绍[operating systems]部分。

1.partition(Q) 表示操作系统的系统根目录所在的分区在同一快硬盘上主分区的顺序号(Q从1开始)。

2.rdisk(Z) 若以multi开头,则Z植表示操作系统的系统根目录所在的分区所在的硬盘在同一个磁盘控制器上的硬盘顺序号(Z从0开始)。

若以SCSI开头,则Z值无意义,恒等于0。

3.disk(Y) 若以SCSI开头,则Y植表示操作系统的系统根目录所在的分区所在的硬盘在同一个磁盘控制器上的硬盘顺序号(Y从0开始)。

若以multi开头,则Y值无意义,恒等于0。

4.若计算机中既有IDE盘又有SCSI盘(或只有IDE),且BIOS中SCSI的设置设为enable,则以multi(X)开头,其中X表示操作系统的系统根目录所在的分区所在的硬盘所在的磁盘控制器在同一磁盘控制器上的顺序号(X从0开始计数)。

若计算机中只有SCSI控制器,则以SCSI(X)开头,其中X表示操作系统的系统根目录所在的分区所在的硬盘所在的磁盘控制器在同一磁盘控制器上的顺序号(X从0开始计数)。

/SAFEBOOT:安全启动,只启动HKLM/System/CurrentControlSetControl/SafeBoot中的驱动程序和服务,其后可跟三个参数Minimal、Network或Dsrepair。Minimal和Network允许在网络连接下启动系统。而Dsrepair要求系统从备份设备中调入活动目录的设置。还有一个选项是Minimal(AlternateShell),它让系统调入由HKLM/System/CurrentControlSetSafeBoot/AlternateShell指定的SHELL程序,而不使用默认的Explorer。

/NOGUIBOOT:不加载VGA驱动程序,也就不会显示启动过程和失败时的蓝屏信息。

/BOOTLOG:将日志写入Nnbtlog.txt文件。

/BASEVIDEO:使用标准VGA方式启动,这种方式主要用于显示驱动程序失效时。

/SOS:在调入驱动程序名时显示它的名称,因驱动问题而无法启动时使用比较好。

通过以上设置我们就可以轻松设置启动菜单了!

由以上可知,BOOT.INI是一个非常重要的系统文件,没有它,系统将无法进行引导,所以我们平时除了要对其作必要的备份之外,还要编辑它的方法。特别是在安装多系统时,如果没有按照从低到高(Windows 98、Windows 2000、Windows XP、Windows 2003)的安装顺序,该文件往往会被损坏。如果我们掌握修改和编辑它的办法,就不会到时候无计可施了。

修改windows启动开机画面

1.用记事本打开c:boot.ini,找到windows xp启动项所在的行,在末尾加入 /noguiboot

2.找到自己做好的开机画面,存放在c:/windows下 命名为 boot.bmp 图片大小为 640*480 16色