2023年11月24日发(作者:)
文件详解:
拥有双系统或多系统的朋友一定对文件不陌生,它是提供多系统启动选项的文件。
存在于C盘中(一般),属性是隐藏和只读。当该文件出问题时,系统会默认从C盘启动,
其他系统的启动均丢失,或根本无法启动系统。看来这个文件还是十分关键的,那么这个文
件的结构究竟是怎样的呢,在它损坏时我们又如何修复它呢?请往下看。
的结构:
以我的计算机为例:
以下是的内容:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(3)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(3)WINDOWS="Microsoft Windows XP Professional"
/noexecute=optin /fastdetect /TUTag=X9YEX1 /Kernel=
multi(0)disk(0)rdisk(0)partition(3)WINDOWS="Microsoft Windows XP Professional (TuneUp
Backup)" /noexecute=optin /fastdetect /TUTag=X9YEX1-BAK
C:="Microsoft Windows"
不同的计算机可能不同,不过都有“[boot loader]”,“timeout=”,“default=”,“[operating
systems]”。
文件内容分两块:Boot loader (引导加载)与 Operating systems(操作系统)。
在引导加载部分timeout=后面接的是系统菜单等待时间,一般为30秒,后面跟的数字即秒
数。Default=后面跟的是默认的操作系统,即多重启动菜单出现时被显示高亮的系统。在操
作系统部分,文件显示了所有被识别的系统名称及位置。
那么其中的“multi(0)disk(0)rdisk(0)partition(3)”又是什么意思呢?
Multi表示一个非SCSI硬盘设备或一个由SCSI BIOS访问的SCSI硬盘,该文段也可为SCSI,
这是其意思为一个由SCSI BIOS禁止的硬盘。(0)是硬件适配卡序号(数字不一定是0)。
Disk(0)表示SCSI总线号(数字不一定是0),如果前面是Multi则这项永远为disk(0),
数字不改变。Rdisk(0)表示硬盘的序号。Partition(3)为分区序号。
另外,在路经的后面,往往还有启动参数,如“/fastdect”等。其意义如下:
/basevideo :以640×480的分辨率,基本显示驱动启动系统。
/sos :Windows NT在引导期间装载的驱动程序名。
另外还有许多其他参数:/debug,/crashdebug,/nodebug等。
文件的修改:
文件一般不可见,即使显示隐藏文件也无法在Windows NT中看到它。于是修改它
就要动用特殊手段了。
方法一:Windows NT系统仍可以正常启动。
右击“我的电脑”,选择“属性”,选择“高级”页,点击“启动和故障修复”的设置按钮。
点击“编辑”,这样就可以更改了,更改后要保存,并一路点击确定才会生效。
方法二:Windows NT系统无法正常启动。
利用Windows PE的启动盘启动计算机,我们仍可以利用如Total Commander这样的文件管
理器找到C盘下的文件,去掉其只读属性,并修改它。
文件详解:
Windows NT(Windows NT/2000/XP/2003)类的系统中存在着一个特殊文件,它就是
“”文件,这个文件会很轻松地按照我们的需求设置好多重启动系统。
“”文件存在于已经安装的系统所在分区,一般位于C:。但是它默认具有隐
藏和只读属性,所以你要设置你的文件夹选项,才能显示 “”文件。如果你想编辑
文件,首先要取消其“只读”属性,然后使用记事本或者其它文本编辑器就可以编
辑了。
一般情况下,内容如下(XP系统):
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)Windows
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)Windows="Microsoft Windows XP Professional" /fastdetect
在Windows 2000或者是XP系统中,我们可以很容易的设置“”文件。那就是
在“我的电脑”上面点击右键,选择“属性”打开 “系统属性”对话框,再点击“高级”
选项卡,在“启动和故障修复”里面点击“设置”按钮,就可以打开“启动和故障修复”对
话框了,在这里面我们就可以对它进行详细设置。
---------------------
现在,我们来说明一下这个文件内容的含义。
1.系统加载部分([boot loader])
此部分包含两个设定,“timeout=”和“default=”
“timeout=”就是设定开机时操作系统列表的显示时间,超过设定值则自动加载下面
“default=”指定的系统。默认值是30,单位为秒。
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)Windows
本例中,表示30秒后,自动引导C盘的Windows XP系统
我们可以在这里面设定等待时间的长短。
timeout=0 不显示操作系统列表,而直接进入默认的操作系统
timeout=1 显示操作系统列表的时间为1秒
timeout=-1 如果用户不进行确认操作,则一直显示操作系统列表
timeout=30 系统默认
“default=”则是设定默认引导的系统。而等号后面的系统必须是已经在“[operating
systems]”中存在的。如果想默认为加载另外的系统,我们可以参看“[operating systems]”
中的系统列表,然后把想要加载的系统按照格式写到“default=”后面就可以了。
------------------
2.系统部分([operating systems])
在这部分中,列出了机器上所安装的全部系统。比如机器上只有一个WindowsXP系统,那
么就只有一条信息,那就是:
multi(0)disk(0)rdisk(0)partition(1)Windows="Microsoft Windows XP Professional" /fastdetect
在这里需要注意的是,在英文引号内的文字就是引导系统菜单时显示出来的让我们选择系统
的提示文字,在这里面我们可以随意更改。比如我们可以改成:
multi(0)disk(0)rdisk(0)partition(1)Windows="Windows XP 专用版 " /fastdetect
详细解释:multi(0)disk(0)rdisk(0)partition(1)Windows
这涉及到了ARC(高级RISC计算机)命名,它是x86或RISC计算机中用于标识设备的动
态方法。ARC命名可分为两大类,以scsi为首或以multi为首,现分别说明如下:
scsi(x)disk(y)rdisk(0)partition(z):
以scsi为首,表明该磁盘控制器为SCSI卡,并且该卡上的BIOS被设置为禁用(disable)
scsi(x):表示第几个控制卡,x以0为起始数字。
disk(y):表示该控制卡下的第几块物理磁盘,y以0为起始数字。
partition(z):表示该物理磁盘上第几个分区,z以1为起始数字。
注意:以scsi为首的ARC命名的rdisk项总是rdisk(0)。
multi(x)disk(0)rdisk(y)partition(z):
以multi为首,表明该磁盘控制器为非SCSI设备(如IDE,ESDI)或是BIOS允许使用(enable)
的SCSI卡。
multi(x):表示第几个控制卡,x以0为起始数字。
rdisk(y):表示该控制卡下的第几块物理磁盘,y以0为起始数字。
partition(z):表示该物理磁盘上第几个分区,z以1为起始数字。
注意:以multi为首的ARC命名的disk项总是disk(0)。
所以,“multi(0)disk(0)rdisk(0)partition(1) Windows”,就是指在0号非SCSI设备上的第0号
磁盘上的第一个分区(C盘)里面的“Windows”目录下可以找到能够启动的系统。
如果你在C盘下安装的Windows 2000,但中却使用了
“multi(0)disk(0)rdisk(0)partition(1)Windows”,恐怕系统就无法启动了,因为2000的系统目
录为WINNT而不是Windows!
-------------------
继续,详细解释:/fastdetect
“/fastdetect”是一个开关符,用来控制启动该系统时的具体选项,下面列出了各种开关符
的含义:
/3GB:这是Win2000 SP3新引入的。这使得用户区和系统区分为3G比1G的比例。只
有用户使用NT企业版,
应用程序也支持3GB选项时,此选项才生效。
/BASEVIDEO:使用标准VGA方式启动。这种方式主要用于显示驱动程序失效时。
/BAUDRATE:指出用于调度的波特率,如果用户不设置,则使用默认的9600,而对于
线缆Modem则使用19200。
/BOOTLOG:将系统启动日志写入 %SystemRoot% 。
/BURNMEMORY=:使NT在已知的内存上少使用指定的数量,如果/burnmemory=64,
则有64M内存NT不使用。
/CRASHDEBUG:调度器在NT启动时启动,只有在内核错误时才有用,如果系统经常
会无故出错,这个选项就很有用了。
/DEBUG:在启动NT时调入调度器,它可以在任何时间激活,在错误可以再次出现时使
用它比较合适。
/DEBUGPORT= comx :指定用于调度的端口,其它X就指端口号。
/FASTDETECT:系统启动时,不检查串行口和并行口。
/HAL=
/INTAFFINITY:设置多处理器HAL(),使编号最大的处理器接收中断请
求。如果不设置此选项,
Win2000会使所有处理器接收中断请求。
/KERNEL=
/MAXMEM:n:指定NT可以使用的最大内存数,如果一个内存片损坏,这个开关就十分
有用了。
/NODEBUG:不使用调试信息。
/NOGUIBOOT:此选项会使操作系统不加载VGA驱动程序,从而屏蔽系统的启动画面
/NOSERIALMICE=[COMx | COMx,y,z„]:在特定的COM中上禁止对串行鼠标的检测。
如果用户有一个非鼠标设备接在COM口上,这个选项会十分有用。如果
此开关未加参数,系统会禁止所有COM口。
/NUMPROC=n:只允许前N个系统处理器工作。
/ONECPU:在多处理器中只使用一个处理器。
/PCILOCK:不让NT为PCI设置分配IO/IRQ资源,而启用BIOS设置。
/SAFEBOOT:安全模式启动,只启动HKLMSystemCurrentControlSet ControlSafeBoot
中的驱动程序和服务,其后跟三个参数MINIMAL,NETWORK或DSREPAIR之一。
MINIMAL和NETWORK在允许网络下启动系统。而 DSREPAIR要求系统从备份设备中调
入活动目录的设置。还有一个选项是"(AlterNATESHELL)",它让系统调入由HKLMSystem
CurrentControlSetSafeBootAlternateShell指定的SHELL程序,而不使用默认的Explorer。
/SOS:在调入驱动程序名时显示它的名字,在因驱动问题而无法启动时使用比较好。
/WIN95:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接调用
Win9x。启动文件BOOTSECT.W40。
/WIN95DOS:在装有三个系统DOS、Win9x和Windows NT的系统上,让NTLDR直接
调用DOS启动文件
/YEAR=:使用指定的年份,如果设置为/YEAR=2005,那现在的时间就是2005年,此选
项仅对NT4+SP4和Win2000生效。
---------------------------------------
-------
例1:
windows2000安装在D盘下,D盘为扩展分区的一个逻辑驱动器,系统可以正常启
动。后来,又添加了一个分区。重启时发现系统无法引导了,是何原因,如何解决?
分析:系统给NT分区编号时,主分区的编号永远排在扩展分区前。一个磁盘上最多只能有
一个扩展分区,则新添加的分区为主分区,而主分区的编号排在扩展分区前,所以D盘的
实际ARC路径的partition值增加了1,而文件的内容没变,这样再利用原来的ARC
路径就找不到D盘的系统目录了。解决的方法就是修改文件。
例2:
机时显示“非法,正从C:WINDOWS启动”,然后就进入了启动状态,并且
也能照样工作,请问这是怎么一回事,能否在不重装系统的情况下使系统恢复到正常启动状
态?
分析:出现这种情况是因为C盘下面的“”文件被破坏了。但是由于你的机器中只
有一个操作系统,当然它就是默认的操作系统,即使“”文件被破坏了,也将自动
地引导该系统进行装载。解决的方法就是自行修改文件,呵呵。
其实这种情况下,系统已经默认为我们创建了一个正确的文件的,位
于%SystemRoot%下,你直接复制到C盘,覆盖就可以了
例3:看懂一个双系统的文件,内容如下:
[bootloader]
timeout=3
default=multi(0)disk(0)rdisk(0)partition(1)WINNT
[operatingsystems]
multi(0)disk(0)rdisk(0)partition(1)WINNT="Microsoft Windows 2000 Professional"/fastdetect
multi(0)disk(0)rdisk(0)partition(2)WINDOWS="Microsoft Windows XP Professional"/fastdetect
/NOGUIBOOT
分析:此计算机安装了双系统,C盘为Windows 2000,D盘为Windows XP,默认操作系统为
2000,显示操作系统列表的时间为3秒种,且如果启动XP系统的话,不会显示启动画面。
--------
补充:
/noexecute参数
这一参数的取值可以是AlwaysOn、AlwaysOff、OptIn 、OptOut中的任一个。当你启用DEP
(系统数据执行保护)的时候, /noexecute=optin;关闭DEP,/noexecute=optout;
/noexecute=AlwaysOn时,便将整个系统置于 DEP 保护范围以内。在这种状态下,很多程
序都不能运行,甚至包括微软Office下的组件和IE等,而且报错的提示还不一样。将这一
功能用于某些特殊的场合倒是不错的选择,比如与网络连接无关的局域网服务器等。
/noexecute=AlwaysOff时,相当于关闭了DEP和EVP功能,凡是被其阻止的程序都能正常
运行。我们可在这种状态下暂时运行某一程序,但一定要注意网络安全,工作完成后马上恢
复。
发布评论