这是在 20CN网络安全小组第一代论坛 的论坛 软件使用 中的主题 全面剖析Windows9x的Msdos.sys


要查看这个主题,请使用这个 URL:
http://www.20cn.net/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic;f=7;t=000261

iexist 发表于 :
 
为了查看和编辑Msdos.sys文件我们首先需使用Attrib命令(attrib?s?h?r msdos.sys)或者是Windows9x的文件管理器去除Msdos.sys的系统、只读、隐含属性,然后我们就可以用纯文本编辑器(如Edit或Notepad等)来打开Msdos.sys文件了。我们可以发现Msdos.sys由三段组成:其中一段由一些无意义的字符组成,另外两段分别为[Paths]和[Options],定义了一些Windows9x启动所需的信息。现在我们先来对这两段的有关参数作一介绍,最后再来认识一下那些由表面看来无用信息所组成的段落。(注意:以下所介绍参数的出现与否视各位的装机情况而定)。

  [Paths]段包含如下设置:

  1.HostWinBootDrv= Default:C 意义:指定启动盘根目录的位置。

  2.UninstallDir= Default:C 意义:指定W95undo.dat和W95undo.ini文件的位置。这些文件是反安装Windows9x所必需的。

  注意:该参数仅当用户安装Windows9x时选择备份系统文件时出现。

  3.WinBootDir= Default:Windows9x的安装目录(例如:C:\WINDOWS)

  意义:显示启动Windows9x所需文件的位置。

  4.WinDir= Default:Windows9x的安装目录(例如:C:\WINDOWS)

  意义:显示Windows9x的安装目录。

  [Options]段包含如下设置:

  1.AutoScan= Default:1 意义:定义非正常关机时是否运行Scandisk。其中:

  0——不运行;1——运行前提示;2——运行前不提示,但在发现错误需修正时提示用户。

  该参数只在Windows95 OSR2和Windows98中有效。

  2.BootDelay= Default:2 意义:Windows9x继续启动前“Starting Windows”信息持续显示的延迟时间。

  注意:该参数Windows98不支持。

  3.BootSafe= Default:0 意义:若设为1则强制计算机进入安全模式。

  4.BootGUI= Default:1 意义:设为1则强制装载图形界面,若为0则不装载图形界面。

  5.BootKeys= Default:1 意义:若为1则允许使用功能键启动(包括F4、F5、F6、F8和CTRL),若为0则禁止在启动过程中使用这些功能键。

  注意:BootKey=0的设置优先于BootDelay=n的设置。

  6.BootMenu= Default:0 意义:若为1则允许使用启动菜单。若为0,用户必须在出现“Starting Windows 9x”时按F8键,或者在机器启动时按住CTRL键才能调用启动菜单。

  7.BootMenuDefault= Default:若系统正常运行则为菜单项1;若上次系统运行时挂起则为菜单项3。

  意义:使用该设置来设定启动的缺省菜单项8.BootMenuDelay= Default:30 意义:该设置用来设定系统显示启动菜单的延迟时间。如过了延迟时间,则按缺省菜单项启动。

  注意:该选项只有在设置了BootMenu=1后才起作用。

  9.BootMulti= Default:1 意义:若设为0则禁止多重启动;若设为1则允许使用F4和F8键来启动用户原先的作系统。

  10.BootWarn= Default:1 意义:若设为0则禁止启动安全模式的警告信息和启动菜单项。

  11.BootWin= Default:1 意义:若设为1则强制启动Windows9x;若设为0则禁止使Window9x成为缺省作系统(通常只在用户的机器上同时存在5.0版本以上的Ms-dos时有用)

  注意:如果BootMulti=1,按F4将改变缺省的作系统(例如:BootMulti=1时按F4键将强制运行Windows9x)

  12.DoubleBuffer= Default:0 意义:若设为1,则系统只为需要使用双缓冲的控制器设定双缓冲(例如SCSI控制器);若设为2,则不管控制器是否需要双缓冲都无条件设置双缓冲。

  13.DBLSpace= Default:1 意义:若设为1则自动装载DBLSPACE.BIN文件;若为0则禁止DBLSPACE.BIN文件的自动装载。

  注意:只要Dblspace.bin和Drvspace.bin其中之一存在于启动盘的根目录,Windows9x将自动装载。为了避免启动时自动装载Dblspace.bin或Drvspace.bin,建议在Msdos.sys文件中增加如下设置:

  DBLSpace=0 DRVSpace=0 14.DRVSpace= Default:1 意义:若设为1则自动装载DRVSPACE.BIN文件;若为0则禁止DRVSPACE.BIN文件的自动装载。

  15.LoadTop= Default:1 意义:若为0,则禁止Windows9x将COMMAND.COM或DRVSPACE.BIN/DBLSPACE.BIN装载在高端内存。如果其它软件存在兼容性问题,不妨设为0试试。

  16.Logo= Default:1 意义:若为1则显示Windows9x的旗标,若为0则不显示Windows9x的标志,同时也可避免和某些第三方的内存管理软件发生不兼容的问题。

  17.Network= Default:0 意义:若为1则意味着已安装网络组件,并且在启动菜单中添加“Safe mode with network support”项。

  Msdos.sys文件的最后一部分是由一些看似无用的信息所组成。这些信息对于那些需要判别Msdos.sys文件长度的程序是必需的。比如说,有的防病毒程序若是检测到Msdos.sys的文件长度小于1024字节,它也许会认为Msdos.sys文件已经被病毒感染。若是不小心删除了Msdos.sys文件,计算机将无法启动。 WIN98的MSDOS.SYS文件揭秘

Windows 98的设置程序会在根目录中建立一个叫MSDOS.SYS的文件

,并且设置其属性为只读、系统和隐藏。这个文件不像旧版DOS的

系统文件MSDOS.SYS,这个文件只是一个普通文本文件,用任何文

本编辑器都可以查看或编辑它。

该文件的结构类似于WINDOWS的INI文件,共分为两个段落,[Path

s]和[Options]。[Paths]段列出了Windows 98其它文件的位置(如注册文

件等),[Options]段则使用户可以控制自己喜欢的开机设置。

以下就先将这个文件的设置项的格式和功能说明如下:

1、[Paths]段的设置:

HostWinBootDrv=<开机引导盘>

默认值:C

功能:指定开机引导的磁盘位置。

WinBootDir=<Windows所在的目录>

默认值:安装WINDOWS 98时所指定的目录(例如,C:\WINDOWS)

功能:指出WINDOWS 98启动时的文件位置。

WinDir=<Windows所在的目录>

默认值:安装WINDOWS 98时所指定的目录(例如,C:\WINDOWS)

功能:指出Windows 98的目录位置。

[Paths]段的设置一般不需要用户修改。

2.[Options]段

BootDelay=<Number>

默认值:2

功能:设置当Windows 98在启动时显示“Starting Windows”后等待的

时间,WINDOWS 98在这段时间里等待用户按功能键来控制启动过

程(详见后述)。

BootFailSafe=<Boolean>

默认值:0

功能:设置为1时使WINDOWS 98启动时进入安全模式。

BootGUI=<Boolean>

默认值:1

功能:设置为1使系统启动后自动进入Windows 98;

设置为0使系统启动后进入命令提示符状态,注意这时是进入DOS

7.0,而不是旧版本的DOS系统。

BootKeys=<Boolean>

默认值:1

功能:设置为1时则启动时可使用功能键(如F4、F5、F6和F8 )来控制

启动过程;

设置为0时则禁止用户使用这些功能键。

注意:当设置BootKeys=0时,则BootDelay=n无效。

BootMenu=<Boolean>

默认值:0

功能:当设置为1时,开机显示startup menu等待用户选择。

当设置为0时,必须在开机显示“Starting Windows”时按F8,才能显

示startup menu,否则按照默认设置启动。

BootMenuDefault=<Number>

默认值:1,如果系统正常运行的话;

4,如果系统在前一次启动时出错,未能完成整个引导过程的话。

功能:指定系统启动时进入startup menu的哪一个选项。

BootMenuDelay=<Number>

默认值:30

功能:这个是用来设置当系统启动时,在显示startup menu后等待用户

选择的时间。

如果这个数值倒数到0而用户没有作任何选择的话,系统将会照

BootMenuDefault的值所对应的选项来启动系统。

BootMulti=<Boolean>

默认值:0

功能:设置为0时关掉双重引导的功能(即不能用旧版本作系统启动

);

设置为1时允许使用F4和F8来选择使用旧版本作系统启动。

BootWarn=<Boolean>

默认值:1

功能:设置0则关掉安全模式开机时的警告信息和startup menu。

BootWin=<Boolean>

默认值:1

功能:设置为1即开机后就进入WINDOWS 98;

设置为0则会在开机后进入旧版本的作系统。当然用户的系统中应

当有旧版本的作系统。

注意:如果BootMulti=1,按F4则会使这里的设置起的作用正好相反。

例如,如果BootWin=0,BootMulti=1,则按F4就会使系统启动后进入

Windows 98。

DoubleBuffer=<Boolean>

默认值:0

功能:设置为1时提供Double-buffer功能,如果系统认为用户的硬盘控

制器需要这一设置的话,如SCSI控制器;

设置为2,则是无条件使用Double-buffer功能,不管用户的硬盘控制

器是否需要。

DBLSpace=<Boolean>

默认值:1

功能:设置为1即自动装入DBLSPACE.BIN;

设置为0即禁止系统自动装入这个文件。

DRVSpace=<Boolean>

默认值:1

功能:设置为1即自动装入DRVS-PACE.BIN;

设置为0即禁止系统自动装入这个文件。

LoadTop=<Boolean>

默认值:1

功能:设置为0即要求Windows 98不要将COMMAND.COM、

DRVSAPCE.BIN及DBLSPACE.BIN装入UMB。如果用户在使用软件

时发现有兼容性问题,可以考虑将该设置设为0试一下。

Logo=<Boolean>

默认值:1

功能:设置为1即使Windows 98在启动时显示其启动画面;

设置为0则不显示该画面。

3.MSDOS.SYS中的其他内容

在上述两段设置之后,MSDOS.SYS文件中还有一些表面上看起来没

有用的内容,这些看似无用的内容是为了和一些软件保持兼容而设

置的。例如,许多查病毒软件认为这个文件大小至少要有1024字节

,否则它会认为这个文件已遭受病毒感染。因此在上述两段设置之

后,文件中有一段说明文字如下:

; The following lines are required for compatibility with other programs.

; Do not remove them (MSDOS.SYS needs to be>1024 bytes) .

这里行首的“;”意为注释,系统不会去识别这些信息,在这两行注

释之后就出现一堆同样以分号开头的“X”,这些“X”就是起到保

持MS-DOS.SYS的“体型”的作用,使它大于1024字节。

这里先说明WINDOWS 98的两种安装方式,然后再举一个

MSDOS.SYS的设置的例子。WINDOWS 98有两种安装方式:覆盖或

不覆盖旧版作系统。选择这两种方式的手段很简单:如果用户把

WINDOWS 98安装到了原来系统中WINDOWS 3.X的目录中,即为

覆盖方式。在这种方式下,旧版的WINDOWS系统被覆盖,用户虽

然可以进入旧版的DOS系统,但无法使用WINDOWS 3.X了。不过

在这种情况下,WINDOWS 98可以被UNINSTALL,即WIN-DOWS

98能够自动将自己从用户的系统中卸除,卸除后用户可以完全恢复

以前的DOS/WINDOWS 3.X。

如果用户在安装WINDOWS 98的时候,把它安装到了一个新的目录

中,那么,WINDOWS 98就不会覆盖原来的DOS和WINDOWS 3.X

,用户可以在开机时选择启动哪个作系统。但在这种安装方式下

,WINDOWS 98不能被自动卸除。

下面给出一个MSDOS.SYS的例子。为了节省篇幅,只给出其中[

Options]段的内容。这个例子实现的功能是,开机显示startup menu,

默认选项是7,即进入旧版本的作系统;如果用户在startup menu中

选1进入WINDOWS 98,则WINDOWS 98在启动时不显示其启动画

面。用户对照本文前面的说明,就应该可以读懂这个例子,并在此

基础上举一反三,写出适合自己需要的MSDOS.SYS的设置。

[Options] ;不显示WINDOWS 98的启动画面Logo=0 ;开机显示启动菜

单startup menu BootMenu=1 ; startup menu的等待时间设为8秒

BootMenuDelay=8 ; startup menu的默认选择为进入旧版本DOS系统

BootMenuDefault=7 ;允许双重引导BootMulti=1 ;如果进入WINDOWS

98,则启动其GUI界面(而不是进入DOS 7.0) BootGUI=1。

转自黑白网络
 






Powered by Infopop Corporation
UBB.classic™ 6.5.0
NetDemon修改版 1.5.0, 20CN网络安全小组 版权所有。