正在加载...

Windows下boot.ini详解

[ 2008/10/27 12:36 | by selboo ]

Boot.ini文件是引导多系统启动时提供了很多的参数命令,配置这些启动参数可以得到不同的启动效果。这个文件分为引导加载部分(boot loader)和操作系统部分(operating systems)两大块。
在引导加载部分,timeout=xx表示等待用户选择操作系统的时间,默认是30秒;default=xxxxx表示缺省情况下系统默认要加载的操作系统路径,表现为启动时等待用户选择的高亮条部分。
在操作系统部分,则列出了所有的操作系统路径和清单,以供用户选择。

default=multi(0)disk(0)rdisk(0)partition(1)代表的是什么呢?
Multi表示一个非SCSI硬盘或一个由SCSI BIOS访问的SCSI硬盘,(x)是硬件适配卡序号;disk(x)表示SCSI总线号,即如果硬件适配卡为Multi,其正确表示方法就为disk(0);rdisk(x)表示硬盘的序号,即如果硬件适配卡为SCSI则忽略此值;partition(x)表示硬盘的分区序号。
我们还发现/fastdect的选项,这些都是开关符。

controller()disk()rdisk()partition()\systemroot="menu listing"

controller():接口类型
有三个可能的情况:

(1) multi() 表明IDE驱动器和SCSI驱动器带有内置BIOS。数字表示IDE或是SCSI控制器的顺序ID。如果2000安装在“从IDE控制器”上,为multi(1)。

(2) scsi() 表明SCSI不带有内置BIOS或BIOS被禁用。这一项来自NT,在2000中没有意义了。

(3) signature() 表明驱动器不能通过标准INT13来访问,需要Ntldr特殊处理。

disk():SCSI ID

disk()和上述的scsi()来指出引导文件所在的SCSI ID。而对于2000来说,对于控制器类型为multi的,disk的数值始终为0。

rdisk():相对磁盘定位

rdisk()和multi()联合指出磁盘位置。对于IDE驱动器,相对磁盘定位有“主/从”之分。例如,第一IDE控制器上的从盘ARC路径名为multi(0)disk(0)rdisk(1)。对于SCSI驱动器来说,相对磁盘位置由POST过程中SCSI POST进行的设备扫描确定。对于signature()控制器来说,rdisk()始终为0。

partition():引导分区序号

这个没什么好说的,就是引导分区序号。注意,这个序号从1开始,而不是从0开始。

\systemroot:就是系统目录

"menu listing":菜单文字。基本没用。

boot.ini 详解

只要在电脑上装了 Windows 2000/XP,就会在C盘根目录下产生一个boot.ini文件,它是你的系统的引导信息文件,在里面你可以看到电脑上装有什么系统,各个系统的位置,以及其他一些信息。下面就让我们来看看这个文件以及相关的信息吧。
Windows NT在BOOT.INI中采用了称为高级RISC计算机(Advanced RISC COMPUTER,ARC)的跨平台标准格式来表示路径。一个遵循ARC规范的路径名有下表中的参数组成:
scsi(x)或multi(x) 标识硬盘适配器 disk(y) SCSI总线号:如果是 multi 则总为0 rdisk(z) multi的物理驱动器号;如果是scsi则忽略 partition 逻辑分区号 前三个参数是以0为基的,也就是说,第一个IDE物理驱动器是rdisk(0), 而第二个则是rdisk(1)。然而不同的是,partition却是基于1的,因此第一个驱动器上的第一个分区是rdisk(0)partition(1)。 路径必须提供所有的参数,不能省略任何参数。例如, multi(0)disk(0)rdisk(0)partition(1)是一个有效参数,尽管这里的 disk(0) 没有代表任何意义,因此,multi(0)rdisk(0)partition(1) 是无效路径。 第一个参数几乎总是 multi,即使是SCSI控制器也总是使用 multi 。在boot. ini 文件中使用scsi的唯一一种情况是,SCSI控制器上的BIOS是关掉的。在这种情况下,系统分区的根目录中有一个附加的隐藏只读文件系统NTBOOTDD.SYS。 NTBOOTDD.SYS是一个访问这种没有BIOS的SCSI控制器的设备驱动程序,或者 也可以作为不使用INT13标识硬盘的SCSI控制器的驱动程序。

下面让我们看一个实例:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
C:\=Microsoft Windows

这个文件表示这台机器装有双系统,默认引导的系统是windows2000
第二行 timeout=30 表示显示开机时选择操作系统的等待时间是30秒;default=multi(0)disk(0)rdisk(0)partition(2)\WINNT 表示默认引导的系统是WINNT;[operating systems]这一行下面是操作系统列表;multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows 2000 Professional" /fastdetect (请参照上面的解释)表示的意思是第一个IDE硬盘上(rdisk(0))的第二个分区(partition(2))上装有Windows 2000; C:\=Microsoft Windows 表示C盘上装有其它的windows操作系统(9X,me)。

以下的方法只适用于一下操作系统 Microsoft Windows 2000 Advanced Server ,Microsoft Windows 2000 Datacenter Server ,Microsoft Windows 2000 Professional ,Microsoft Windows 2000 Server 对于其它操作系统则没试过。

我们知道Windows 2000在启动时如果按F8的话,会出来让我们选择的是否进入安全模式的选项的,但是如果你需要经常进入安全模式的话,每次这样做很麻烦。现在让我们看看如何修改boot.ini来使你直接进入安全模式。
模式 开关(Switch)
安全模式 /safeboot:minimal /sos /bootlog /noguiboot
带有网络的安全模式 /safeboot:network /sos /bootlog /noguiboot
带有命令行的安全模式 /safeboot:minimal(alternateshell) /sos /bootlog /noguiboot
启用日志 /bootlog
启用VGA模式 /basevideo
目录服务恢复模式 /safeboot:dsrepair /sos
调试模式 /debug

使用“带命令行提示的安全模式”开关的boot.ini例子:

[boot loader]
timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server" /fastdetect /SAFEBOOT:MINIMAL(ALTERNATESHELL)

注意: /sos /bootlog /noguiboot 开关对上面任何一个设置都不是必须的,但是它们有助于找到错误。当你按下F8,并选择其中一个模式的时候,那些开关是包含在里面的。  
,
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]