中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-09-06 04:57
中国DOS联盟论坛 » DOS启动盘 & LOGO技术 (启动盘室) » [分享]WIN95 OSR1内置DOS启动盘 查看 80 回复 1
楼 主 [分享]WIN95 OSR1内置DOS启动盘 发表于 2026-08-28 22:58 ·  中国 河北 中国电信
新手上路
积分 31
发帖 7
注册 2026-08-16 13:59
UID 186236
性别 男
来自 中国-山东-淄博-临淄
状态 离线
注意,这是WIN95的启动盘,而且是较早版本的win95 osr1,不支持FAT32!


正文

  我知道肯定有人要问:现在全网都在搞 7.10 启动盘,支持 FAT32,大硬盘随便用,你为什么非要搞 7.00?
  理由其实就一句话:因为 7.1 太多人搞了,没意思。
  7.1 的教程一搜一大把,镜像满网都是,照着抄就能做成。但 7.00 不一样——它是 Windows 95 第一版(RTM) 的内核,版本号 4.00.950,只认 FAT16,分区最大 2GB,驱动挑剔得要命,网上资料少得可怜,踩坑都没人给你填。
  我要搞这个。 不为别的,就为那份“自己动手,丰衣足食”的快感。

(目前只是一个1.00版本,日后会改进)

下载:DOS95.img (1.4 MB)
[已使用 Gemini 解答]
Gemini 解答

1. Windows 95 版本与 MS-DOS 版本的对应关系

帖子中涉及的系统版本界定是准确的:

  • Windows 95 RTM (4.00.950)Windows 95 OSR1 (4.00.950A):内置的底层 DOS 内核版本为 MS-DOS 7.00
  • Windows 95 OSR2 (4.00.950B)OSR2.5 (4.00.950C)Windows 98Windows 98 SE:内置的底层 DOS 内核升级为 MS-DOS 7.10
  • Windows Me (4.90.3000):内置的底层 DOS 内核为 MS-DOS 8.00(默认移除了实模式直接引导菜单和 CONFIG.SYS/AUTOEXEC.BAT 的常规实模式处理流程)。

微软从未将 MS-DOS 7.x 作为独立的盒装零售版操作系统发行,而是将其深度整合为 Windows 9x 的引导阶段与实模式/保护模式混合子系统。


2. MS-DOS 7.00 与 MS-DOS 7.10 的核心技术差异

帖子提到的“只认 FAT16、分区最大 2GB”是 MS-DOS 7.00 最本质的技术边界:

  • 文件系统支持
    • MS-DOS 7.00 仅支持 FAT12 和 FAT16。由于 FAT16 最大簇数为 65,536,且标准簇大小最大为 32KB(不考虑特殊的 64KB 非标准簇),单个逻辑分区的最大容量被严格限制在 2 GB
    • MS-DOS 7.10 正式引入了 FAT32 文件系统支持,单分区理论上限大幅提升至 2 TB(受限于当时的 MBR 分区表与 32 位扇区寻址)。
  • 磁盘寻址接口(INT 13h 扩展)
    • MS-DOS 7.00 的 IO.SYS 基础磁盘 I/O 依然严重依赖传统的 BIOS INT 13h 柱面/磁头/扇区(CHS)寻址,存在 1024 柱面(约 8.4 GB / 504 MB 等不同 BIOS 限制)的物理边界。
    • MS-DOS 7.10 全面支持 INT 13h 扩展(LBA 寻址模式),可直接访问大容量硬盘。
  • 长文件名(LFN)支持
    • 两者在纯实模式(DOS 命令行)下默认均只呈现 8.3 短文件名。
    • 长文件名均依赖 Windows 保护模式内核或实模式下的 LFN API TSR(如第三方驱动 DOSLFN)提供支持。

3. MS-DOS 7.00 的底层架构特征

对于制作 MS-DOS 7.00 启动盘而言,需要注意其相比 MS-DOS 6.22 发生的重要架构变化:

  1. IO.SYS 的功能合并: 从 7.00 开始,IO.SYS 不仅包含硬件抽象层,还将旧版 MSDOS.SYS 的核心 DOS 功能(如 INT 21h 服务)以及 HIMEM.SYSIFSHLP.SYSSETVER.EXE 的基本逻辑直接编译进了单一二进制文件中。系统引导时,即使没有 CONFIG.SYSIO.SYS 也会默认加载 XMS 驱动并建立基础实模式环境。
  2. MSDOS.SYS 变为文本配置文件: 在 MS-DOS 7.00 中,MSDOS.SYS 从原先的二进制内核文件变成了 INI 格式的纯文本配置文件。在制作独立 DOS 启动盘时,通常需要设置 BootGUI=0(禁止自动启动 GUI)以及 Logo=0(关闭图形启动画面)。若缺少该文件或文件损坏,IO.SYS 仍会按内置默认值继续尝试引导。
  3. 驱动与兼容性差异: MS-DOS 7.00 并不比 7.10 更加“挑剔驱动”,大部分标准的实模式驱动(如光驱驱动 OAKCDROM.SYS、通用软驱驱动、鼠标驱动 CTMOUSE 等)在 7.00 与 7.10 下运行机制完全相同。产生兼容性报错的主要原因是:某些后期编写的 DOS 工具软件(如分区工具、磁盘整理、大硬盘备份软件)在启动时会检测 DOS 版本或调用 FAT32/LBA 专有的 INT 21h / INT 13h 扩展子功能,当在 7.00 下未获取到预期接口时,会直接报错退出。

4. 社区历史背景

国内 DOS 社区(如早期的 CN-DOS 等技术论坛)在 2000 年代广泛流行的大多是基于 MS-DOS 7.10 提取、修改和打包的完整安装盘(如由社区成员整理的“MS-DOS 7.10 完整安装版”)。这主要是因为 7.10 对 FAT32 和大硬盘的良好支持契合了当时新硬件与维护需求。将 MS-DOS 7.00 作为独立启动系统提取并制作成盘,更多见于针对 Windows 95 第一版原汁原味环境复原或复古硬件的兼容性测试场景。

2 发表于 2026-08-29 20:44 ·  中国 河北 中国电信
新手上路
积分 31
发帖 7
注册 2026-08-16 13:59
UID 186236
性别 男
来自 中国-山东-淄博-临淄
状态 离线
昨天我做的盘,敲ver会出来WINDOWS 95,但是今天不一样了!

===+正文+===

ver:
WIN95 MSDOS 7.00!!!
今天我用Hxd对DOS95的内部做了修改,敲ver会返回MS-DOS 7.00而不是WIN95,现在发布一下(除了这个功能没有其他更新)

下载:DOS70.IMG (2.8 MB)

===+注释+===
1,内核没有任何重大更新
2,这种情况如果出现兼容性问题或者无法启动,请自行修理。如果是下载到的本身有问题,请联系作者:QQ:534373695!
[已使用 Gemini 解答]
Gemini 解答

1. VER 命令显示的本质与修改机制

在 MS-DOS 7.00(Windows 95 RTM / OSR1 提取版)中,敲击 VER 命令输出“Windows 95”而非“MS-DOS 7.00”,是由 COMMAND.COM 内部硬编码的字符串决定的,属于纯文本显示层面的设计。

  • 显示字符串与 API 返回值的区别
    • 命令显示COMMAND.COM 内嵌了一段 ASCII 提示字符串(如 Windows 95 [Version 4.00.950])。使用十六进制编辑器(如 HxD)定位该字符串并替换为 MS-DOS 7.00,仅改变了该命令的屏幕回显,不会改变系统的实际内核版本。
    • 系统调用(API):DOS 应用程序获取系统版本并非通过读取 COMMAND.COM,而是调用中断:
      • INT 21h, AH=30h(获取 DOS 版本号):在 Windows 95 RTM/OSR1 的 real-mode DOS 下,AL 返回主版本号 07hAH 返回次版本号 00h
      • INT 21h, AX=3306h(获取真实 DOS 版本):返回真实的内部版本标志。
    • 因此,内核底层本身即为 MS-DOS 7.00,Hex Patch 属于外观修饰(Cosmetic Patch),不会影响依赖版本号检测的外部程序运行逻辑。

2. MS-DOS 7.00 的核心特性与边界限制

Windows 95 RTM(4.00.950)与 OSR1(4.00.950A)内置的 MS-DOS 7.00 与后续广为流传的 MS-DOS 7.10(源自 Win95 OSR2 / Win98 / Win98 SE)存在明确的架构代差:

  • 文件系统限制
    • 仅支持 FAT12 / FAT16:MS-DOS 7.00 的 IO.SYS 未集成 FAT32 文件系统代码,单个分区最大容量受限于 FAT16 的 2 GB(64 KB 簇大小下部分系统可达 4 GB,但标准兼容上限为 2 GB)。
    • 长文件名(LFN)限制:虽然 Windows 95 支持 VFAT 长文件名,但在纯 DOS 实模式(Real Mode)下,MS-DOS 7.00 自带的命令行工具默认仅能识别 8.3 短文件名。若要在纯 DOS 下读写长文件名,需要挂载第三方实模式 TSR 驱动(如 DOSLFN)。
  • 磁盘寻址与中断
    • MS-DOS 7.00 默认仅依赖标准 BIOS INT 13h(CHS 寻址模式),对大容量硬盘支持较弱;而 7.10 引入了完整的 INT 13h Extensions(LBA 寻址)支持。
  • 独立运行机制
    • Windows 95 的 IO.SYS 将旧版 MS-DOS 的 IO.SYSMSDOS.SYS 功能进行了合并,原本的 MSDOS.SYS 变为纯文本配置文件。
    • 在制作独立启动盘时,若要阻止系统尝试加载图形界面或报错,需在文本格式的 MSDOS.SYS 中设置:
      [Options]
      BootGUI=0
      

3. 2.88 MB 软盘映像的兼容性说明

帖子中更新的 DOS70.IMG 文件大小为 2.88 MB(超高密软盘格式,ED / 2.88MB Floppy Disk):

  • 物理机兼容性:标准 PC 兼容机普遍仅配备 1.44 MB(HD)软驱与软盘控制器(FDC),物理 2.88 MB 软驱多见于特定 IBM PS/2 机型或部分早期高端服务器。在绝大多数真实老硬件上,物理软驱无法直接读取 2.88 MB 磁道格式。
  • 虚拟与光盘环境:2.88 MB 软盘镜像常用于虚拟化环境(如 VirtualBox、VMware、QEMU),或作为可引导光盘制作(El Torito 标准)中的软盘仿真镜像(1.44M / 2.88M Emulation)。若要在真实老机器上使用物理软盘启动,仍建议裁剪至标准 1.44 MB 规格。
论坛跳转: