中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 转贴《 MSDOS.SYS文件的设置》 上一主题 | 下一主题
ko20010214
版主




积分 7296
发帖 1628
注册 2002-10-16
状态 离线
『楼 主』:  转贴《 MSDOS.SYS文件的设置》 [已使用 LLM 解释]

MSDOS.SYS文件的设置 -----此贴为转贴,作者不详

转贴者注:由于msdos.sys也是DOS底下的东西,win98的启动少不了dos这一关,所以,把这篇文章贴在这里

这篇是给初学者看的,虾哥们一时忘了也不妨试试。:)
  以下是我所知道的关于 Windows98 的 MSDOS.SYS 文件中 [Options] 块中的一些设置。(各选项中默认值写在前面)

  [Options]

  AutoScan=1/0

  BootDelay=2/?

  BootGUI=1/0

  BootKeys=1/0

  BootMenu=0/1

  BootMenuDefault=1/2/3/4/5/6/7

  BootMulti=0/1

  BootWarn=1/0

  BootWin=1/0

  DblSpace=0/1

  DoubleBuffer=0/1

  DrvSpace=0/1

  Load Top=1/0

  Logo=1/0

  WinVer=4.10.1998

 

  AutoScan:非正常关机后下次启动是否运行 ScanDisk。

  BootDelay:开机时热键按下前的等待时间(单位:秒),但我自己试过,好像没什么效果。

  BootGUI:启动时是否进入 Windows 的 GUI 界面(否则为DOS界面)。

  BootKeys:启动时热键是否有效。

  BootMenu:启动时是否显示启动菜单(否则要按下热键才显示)。

  BootMenuDefault:显示启动菜单时的默认项(即光标所在项)。

  BootMulti:是否允许启动 DOS 6.xx(前提是启动盘中有旧版 DOS 启动文件,且此盘必须为 FAT16)。

  BootWarn:在启动过程中失败后,下次启动是否提示进入安全模式(这最烦,关掉好!)。

  BootWin:启动时是否自动装入旧版 DOS。

  DblSpace:启动时是否装入 DBLSPACE.BIN。

  DoubleBuffer:是否启动双缓冲区支持。

  DrvSpace:启动时是否装入 DRVSPACE.BIN。

  Load Top:启动时是否将系统核心的一部分装入高端内存。

  Logo:启动时是否显示“蓝天白云”。

  WinVer:不用说了吧。

 

  最后说一说启动热键:

  F4:启动旧版DOS。

  Shift+F4/Shift:Safe mode

  F5:跳过CONFIG.SYS和AUTOEXEC.BAT,但装入HIMEM.SYS(与上面的有什么不同?)。

  Shift+F5:Safe mode command prompt only。

  F8/Ctrl:显示启动菜单。
LLM 解释

技术背景与补充说明:MS-DOS 7.x 环境下的 MSDOS.SYS

在 Windows 95/98(即 MS-DOS 7.0/7.1)时代,MSDOS.SYS 的性质发生了根本性的变化。在传统的 MS-DOS 6.22 及更早版本中,该文件是系统的核心二进制文件之一;但在 Windows 9x 环境下,核心功能被整合到了 IO.SYS 中,而 MSDOS.SYS 转变为一个纯文本的配置文件,用于控制引导行为。

针对该帖子中的参数说明及用户疑问,补充以下技术细节:

1. 关键参数的深度解析

  • BootDelay (引导延迟): 原贴提到该设置似乎无效,这是因为 Windows 98 默认关闭了启动时的 "Starting Windows..." 文本提示。如果将 Logo=0 且确保没有设置 BootMenu=1,该延迟(默认为 2 秒)才会显现,允许用户在看到提示时按下 F8。
  • BootMulti (多重引导): 该功能依赖于系统根目录下是否存在 IO.DOSMSDOS.DOSCOMMAND.DOS 等旧版本 DOS(如 6.22)的更名备份文件。如果是在 FAT32 分区上,此功能通常失效,因为旧版 DOS 不支持 FAT32。
  • DoubleBuffer (双缓冲区): 这并非简单的加速设置,而是为了兼容某些使用 SCSI 接口或老式硬盘控制器的设备。这些设备在使用 VFAT 保护模式驱动程序时,无法直接访问上位内存(UMB),如果不开启 DoubleBuffer=1(或在 CONFIG.SYS 中加载 SMARTDRV.EXE /DOUBLE_BUFFER),可能会导致数据损坏或系统死机。
  • LoadTop: 该设置决定 COMMAND.COM 和某些系统数据是否常驻于常规内存(640K)的顶部。在某些对常规内存极度敏感的游戏或老旧驱动环境下,设置为 0 有时能解决兼容性问题,但通常保持默认的 1 即可。

2. 关于启动热键的区别 (针对原帖 F5 的疑问)

原帖中对 F5 的疑问可以通过引导流程解释:

  • F5 (Safe Mode):直接跳过 CONFIG.SYSAUTOEXEC.BAT,不加载任何第三方驱动,但为了保证 Windows 的基本运行,系统会自动尝试加载 HIMEM.SYSIFSHLP.SYS
  • Shift + F5 (Safe Mode Command Prompt Only):这是彻底的“纯 DOS”环境。它不仅跳过所有启动脚本,连 Windows 的图形外壳也不会加载,直接停留在命令提示符。
  • F8:在 Windows 98 之后,按下 Ctrl 键也可以达到和 F8 一样的效果,进入启动菜单。

3. 关于 MSDOS.SYS 的文件长度限制

在修改 MSDOS.SYS 时,必须保留文件末尾那段由大量字母 x 组成的注释块。这是因为某些早期防病毒软件或特定的系统扫描工具会假设 MSDOS.SYS 是一个二进制文件,如果文件大小小于 1024 字节,可能会导致兼容性检查失败或引导错误。

4. 对回帖中“回收站”建议的技术修正

针对 zhaokun 网友提出的“在纯 DOS 下建立回收站”的想法,在工程实现上主要有以下限制:

  • DOS DEL 命令的不可逆性:原生的 DOS DELERASE 命令不经过任何缓冲,直接修改磁盘文件分配表(FAT)将起始簇标记为可用。
  • BAT 脚本的局限性:使用批处理(BAT)确实可以模拟回收站(例如建立一个 C:\RECYCLED 目录,将 DEL 命令通过 ALIAS 或重新命名为自己的程序,改为执行 MOVE 操作)。但这种方法无法拦截其他第三方程序(如 NC, VC, 或 C 语言编译的程序)调用的中断删除指令。
  • 历史解决方案:当年的主流做法是使用 PC ToolsNorton Utilities 提供的 Delete Tracking(删除跟踪)功能。它们通过常驻内存(TSR)程序拦截 INT 21h 中断,在文件真正被删除前将其索引记录或移动到隐藏区域,这比单纯的批处理脚本更接近 Windows 回收站的底层逻辑。




ko20010214
=================================
大功告成,打个Kiss!
ko20010214@MSN.com
神州优雅Q300C
Intel CeleronM 370处理器 | 256MbDDR内存
40G硬盘 | USB2.0 | IEEE 1394
13.3 ' WXGA 宽屏(16:10) | COMBO光驱
10/100M网卡 | 四合一读卡器
2002-10-21 00:00
查看资料  发送邮件  发短消息  网志  OICQ (16959102)  编辑帖子  回复  引用回复
lutjids
初级用户




积分 113
发帖 3
注册 2003-6-2
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

再说一声谢谢!


2003-6-3 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
柏仔
初级用户

DOS爱好者


积分 478
发帖 100
注册 2003-4-22
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

每次上来都学到东西





|||||||  寻人启示:姓名:
| c●● ~年龄:20,性别:男
|  ♂▃~ 特征:帅.很帅.酷.特别酷....
| |︺英俊潇洒.风流倜傥,玉树临风→我

单钓E时代论坛
2003-6-3 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

柏仔你也是扬州的吗???




2003-6-11 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
柏仔
初级用户

DOS爱好者


积分 478
发帖 100
注册 2003-4-22
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下

以下是引用pizigao在2003-6-11 10:19:27的发言:
柏仔你也是扬州的吗???


不是啊,我是广东人,为什么这样问?





|||||||  寻人启示:姓名:
| c●● ~年龄:20,性别:男
|  ♂▃~ 特征:帅.很帅.酷.特别酷....
| |︺英俊潇洒.风流倜傥,玉树临风→我

单钓E时代论坛
2003-6-11 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zhaokun
新手上路





积分 3
发帖 3
注册 2005-7-22
状态 离线
『第 6 楼』:  小生在此有禮了 使用 LLM 解释/回答一下

哈哈,高手麻,不過身為菜鳥的我也 不氣餒啦,因為我還是愛你的DOS
請教一下if命令的用法阿IF的命令阿
還有就是可不可以編輯一個BAT檔來自己做一個回收站阿
因為在純DOS裡面就有用啊
小生在此有禮了


2005-7-22 22:20
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: