全面剖析Windows 9X的MSDOS.SYS 相信各位电脑玩家对Msdos.sys一定不会陌生。但是与传统的DOS不同的是，Windows 9x时代的Msdos.sys已经脱下了高深莫测的外衣，现在的Msdos.sys只不过是一个具有隐含、系统、只读属性的文本文件，我们可以用一般的纯文本编辑器来编辑修改，以达到我们加速Windows 9x的目的。下面我们就来看看Windows 9x的Msdos.sys的葫芦里卖的到底是什么药。 为了查看和编辑Msdos.sys文件我们首先需使用Attrib命令(attrib -s -h -r msdos.sys)或者是在Windows 9x的文件管理器去除Msdos.sys文件的系统、只读、隐含属性，然后我们就可以用纯文本编辑器(如Edit或Notepad等)来打开Msdos.sys文件了。
Msdos.sys由三段组成:其中一段由一些无意义的字符组成，另外两段分别为[Paths]和[Options]，定义了一些Windows 9x启动所需的信息。现在我们先来对这两段的有关参数作一介绍，最后再来认识一下那些由表面看来无用信息所组成的段落。(注意:以下所介绍参数的出现与否视各位的装机情况而定)。

[Paths]段包含如下设置:
1．HostWinBootDrv=<Root of Boot Drive>
Default:C
意义:指定启动盘根目录的位置。
2．UninstallDir=<Root of Boot Drive>
Default:C
意义:指定W95undo.dat和W95undo.ini文件的位置。这些文件是反安装Windows 9x所必需的。
注意:该参数仅当用户安装 Windows 9x时选择备份系统文件时出现。
3．WinBootDir=<Windows Directory>
Default:Windows 9x 的安装目录(例如:C:\Windows)
意义:显示启动Windows 9x所需文件的位置。
4．WinDir=<Windows Directory>
Default:Windows 9x 的安装目录(例如:C:\Windows)
意义:显示Windows 9x的安装目录。
[Options]段包含如下设置:
1．AutoScan=<Number>
Default:1
意义:定义非正常关机时是否运行Scandisk。其中:
0:不运行。
1:运行前提示。
2:运行前不提示，但在发现错误需修正时提示用户。
该参数只在Windows 95 OSR2和Windows 98中有效。
2．BootDelay=<Seconds>
Default:2
意义:Windows 9x继续启动前“Starting Windows”信息持续显示的延迟时间。
注意:该参数Windows 98不支持。
3．BootSafe=<Boolean>
Default:0
意义:若设为1则强制计算机进入安全模式。
4．BootGUI=<Boolean>
Default:1
意义:设为1则强制装载图形界面，若为0则不装载图形界面。
5．BootKeys=<Boolean>
Default:1
意义:若为1则允许使用功能键启动(包括F4、F5、F6、F8和Ctrl)，若为0则禁止在启动过程中使用这些功能键。
注意:BootKey=0的设置优先于BootDelay=n的设置。
6．BootMenu=<Boolean>
Default:0
意义:若为1则允许使用启动菜单。若为0，用户必须在出现“Starting Windows 9x”时按F8键，或者在机器启动时按住Ctrl键才能调用启动菜单。
7．BootMenuDefault=<Number>
Default:若系统正常运行则为菜单项1;若上次系统运行时挂起则为菜单项3。
意义:使用该设置来设定启动的缺省菜单项。
8．BootMenuDelay=<Number>
Default:30
意义:该设置用来设定系统显示启动菜单的延迟时间。如超过了延迟时间，则按缺省菜单项启动。
注意:该选项只有在设置了BootMenu=1后才起作用。
9．BootMulti=<Boolean>
Default:1
意义:若设为0则禁止多重启动;若设为1则允许使用F4和F8键来启动用户原先的操作系统。
10．BootWarn=<Boolean>
Default:1
意义:若设为0则禁止启动安全模式的警告信息和启动菜单项。
11．BootWin=<Boolean>
Default:1
意义:若设为1则强制启动Windows 9x;若设为0则禁止使Windows 9x成为缺省操作系统(通常只在用户的机器上同时存在5.0版本以上的MS-DOS时有用)
注意:如果BootMulti=1，按F4将改变缺省的操作系统(例如:BootMulti=1时按F4键将强制运行Windows 9x)
12．DoubleBuffer=<Boolean>
Default:0
意义:若设为1，则系统只为需要使用双缓冲的控制器设定双缓冲(例如SCSI控制器)；若设为2，则不管控制器是否需要双缓冲都无条件设置双缓冲。
13．DBLSpace=<Boolean>
Default:1
意义:若设为1则自动装载DBLSpace.bin文件；若为0则禁止DBLSpace.bin文件的自动装载。
注意:只要DBLSpace.bin和DRVSpace.bin其中之一存在于启动盘的根目录，Windows 9x将自动装载。为了避免启动时自动装载DBLSpace.bin或DRVSpace.bin，建议在Ms-dos.sys文件中增加如下设置:
DBLSpace=0
DRVSpace=0
14．DRVSpace=<Boolean>
Default:1
意义:若设为1则自动装载DRVSpace.bin文件；若为0则禁止DRVSPace.bin文件的自动装载。
15．LoadTop=<Boolean>
Default:1
意义:若为0，则禁止Windows 9x将Command.com或DRVSpace.bin/DBLSpace.bin装载在高端内存。如果其它软件存在兼容性问题，不妨设为0试试。
16．Logo=<Boolean>
Default:1
意义:若为1则显示Windows 9x的旗标，若为0则不显示Windows 9x的标志，同时也可避免和某些第三方的内存管理软件发生不兼容的问题。
17．Network=<Boolean>
Default:0
意义:若为1则意味着已安装网络组件，并且在启动菜单中添加“Safe mode with network support”项。
Msdos.sys文件的最后一部分是由一些看似无用的信息所组成。这些信息对于那些需要判别Msdos.sys文件长度的程序是必需的。比如说，有的防病毒程序若是检测到Msdos.sys的文件长度小于1024字节，它也许会认为Ms-dos.sys文件已经被病毒感染。若是不小心删除了Msdos.sys文件，计算机将无法启动。

（曾 成）