首页 > 软件 > MultiOS多重启动之Windows 95 OSR2.5与MS-DOS 6.22双重启动
2024
04-07

MultiOS多重启动之Windows 95 OSR2.5与MS-DOS 6.22双重启动

本文主要整理一下Windows 95 OSR2.5操作系统与MS-DOS 6.22操作系统的双重启动问题,即Dual-boot问题,看一下为什么微软不支持二者双重启动,以及通过什么方案可以实现二者的双重启动。



一、系统版本界定

首先需要回顾并界定一下Windows 95操作系统的版本,在《系统安装-Windows 9X 操作系统安装实录目录》中,已经对微软正式发布的Windows 95操作系统版本进行了一个简单划分,共包括5种大的版本:

  • Windows 95 -4.00.950原始版本;

  • Windows 95A -4.00.950aWindows 95 OSR1;

  • Windows 95B -4.00.950BWindows 95 OSR2 开始包含对FAT32文件系统的支持;

  • Windows 95B -4.00.950BWindows 95 OSR2.1 开始包含对USB的支持;

  • Windows 95C -4.00.950CWindows 95 OSR2.5 最终版本

OSR所代表的的是 OEM Service Release,不单独发行,微软也曾为Windows 95单独发行过一个Service Pack 1,其安装后和OSR1安装后都是4.00.950a,这里不再进行区分。



结合Windows 95操作系统的版本编号,其内置的MS-DOS的版本编号及对FAT32硬盘分区的支持,这里通过一个表格进行展示:



为支持 FAT32,从Windows 95 OSR2开始,实模式和保护模式内核中有变化,由于硬盘文件系统是基础,我们可以确定,如果需要实现Windows 95 OSR2.5操作系统与MS-DOS 6.22操作系统的双重启动,硬盘分区必须是FAT16,因为MS-DOS 6.22无法识别FAT32文件系统,本文选择Windows 95 OSR 2.5

至于Windows 95和Windows 95 A,本身即支持和MS-DOS 6.22的双重启动,本文不进行展开。

二、默认安装与双启动失败情形

这里的安装顺序依照时间顺序,由低版本至高版本依次安装。首先于硬盘中建立一个不大于2GB的FAT16主分区,然后完成MS-DOS 6.22的安装。



此时硬盘中只有一个操作系统——MS-DOS 6.22,这里正确加载一下光驱驱动,然后在此基础上安装Windows 95 OSR2.5

Windows 95的安装向导底部会有一句提示:Windows 95将会替换本机已有的任何版本的MS-DOS以及Windows,这里直接点击“下一步”继续,安装至C:\WINDOWS目录



当Windows 95 OSR2.5安装完成之后,C盘根目录中会出现Windows 95 OSR2.5的系统文件,名称为:

AUTOEXEC.BAT、COMMAND.COM、CONFIG.SYS、IO.SYS、MSDOS.SYS

同时,原来由MS-DOS 6.22系统创建的与上述5个同名的系统文件会被重命名为:

AUTOEXEC.DOS、COMMAND.DOS、CONFIG.DOS、IO.DOS、MSDOS.DOS



这里编辑一下Windows 95 OSR2.5的MSDOS.SYS文件,添加BootMenu=1,开启启动菜单,保存之后重启计算机。



通过在启动菜单中选择“Previous version of MS-DOS”,的确可以启动MS-DOS 6.22



但注意,这种切换只是一次性的,如果重启,Windows 95 OSR2便不可再启动了,具体表现就是黑屏。

三、双启动失败的原因

上面已经讲过,在MS-DOS 6.22基础上安装Windows 95 OSR2.5时,Windows 95 OSR2.5的安装程序会将原本属于MS-DOS 6.22的AUTOEXEC.BAT、COMMAND.COM、CONFIG.SYS、IO.SYS、MSDOS.SYS改名为AUTOEXEC.DOS、COMMAND.DOS、CONFIG.DOS、IO.DOS、MSDOS.DOS

然后创建属于Windows 95 OSR2.5的AUTOEXEC.BAT、COMMAND.COM、CONFIG.SYS、IO.SYS、MSDOS.SYS,这样系统重启后默认是启动Windows 95 OSR2.5,C盘根目录中的文件一览:



但是如果通过在启动菜单中选择“Previous version of MS-DOS”,的确可以启动MS-DOS 6.22,这时所发生变化便是一轮新的重命名:

硬盘中属于Windows 95 OSR2.5的AUTOEXEC.BAT、COMMAND.COM、CONFIG.SYS、IO.SYS、MSDOS.SYS会被重命名为AUTOEXEC.W40、COMMAND.W40、CONFIG.W40、JO.SYS、MSDOS.W40

属于MS-DOS 6.22的AUTOEXEC.DOS、COMMAND.DOS、CONFIG.DOS、IO.DOS、MSDOS.DOS会被恢复原名称:AUTOEXEC.BAT、COMMAND.COM、CONFIG.SYS、IO.SYS、MSDOS.SYS,这样系统便启动进入MS-DOS 6.22,,C盘根目录中的文件一览:



通过下图,可以非常直观地看到C盘根目录中的这10个文件。



然而重启之后,AUTOEXEC.W40、COMMAND.W40、CONFIG.W40、JO.SYS、MSDOS.W40不会被恢复原名称了,所以Windows 95 OSR 2.5就不能重新启动了。

四、解决方案一-直接修改文件名

知道了上述原因,最简单的解决办法是手动改名,将属于Windows 95 OSR2.5的系统文件恢复原文件名,将属于DOS 6.22的文件恢复为.DOS文件



修改后如下:



Windows 95 OSR2.5便可以重新启动。



五、解决方案二-利用PC-DOS的系统文件命名

通过上面介绍可知,当依次安装完成DOS-6.22和Windows 95 OSR2.5,然后从Windows 95 OSR2.5的启动菜单中选择启动“Previous version of MS-DOS”时,操作系统的引导代码需要恢复.DOS的系统文件,涉及5个文件,然而,如果依次安装的是PC-DOS和Windows 95 OSR2.5,那么情况则不同。

PC DOS的系统文件包括AUTOEXEC.BAT、CONFIG.SYS、COMMAND.COMIBMBIO.COMIBMDOS.COM,其中IBMBIO.COMIBMDOS.COM与MS-DOS、Windows 9x的系统文件不同名,因此,PC-DOS和Windows 95 OSR2.5可以完美支持双启动。

利用这一点,可以将C盘中属于MS-DOS6.22的IO.DOS和MSDOS.DOS改名为IBMBIO.COMIBMDOS.COM,即可实现Windows 95 OSR2.5操作系统与MS-DOS 6.22操作系统的双重启动。



六、引导程序替换

以下是Windows 95A与Windows 95C即OSR2.5的引导程序,相同分区情况下的分区启动扇区,可以看出二者还是存在差异的。



Windows 95A本身支持与MS-DOS6.22的双启动,如果直接用Windows 95A的分区启动扇区信息覆盖相同分区条件下Windows 95C的分区启动扇区,其结果是重启选择Previous version of MS-DOS时,MS-DOS6.22可以启动一次,再重启选择Normal时,Windows 95OSR2.5会无法启动,提示无效。



七、第三方软件W95BOOT

通过上一节的内容已经可以知道,Windows 95 OSR2.5无法支持和MS-DOS6.22双启动的原因就在于引导程序,即分区启动扇区,而分区启动扇区是可以进行修改的,一个德国人Jšrg Weske编写了一个修改Windows 95 OSR2.5分区启动扇区的程序W95BOOT.EXE

It will correct the multi-boot failure with Windows(R) 95 - OEM relase 2 and DOS 6

需要注意的是当时这个程序作者是针对Windows 95 OSR2,即Windows 95B所作的,对于本文中的OSR2.5,即Windows 95C来说是否可行呢?

这里以MS-DOS6.22版本的启动磁盘启动计算机,然后执行W95BOOT



程序欢迎页面说明了运行W95BOOT的注意事项,即硬盘中依次安装了MS-DOS6.22和Windows 95 OSR2.5,或者是先安装了Windows 95 OSR2.5,然后手动复制MS-DOS6.22的文件构建了双启动。执行W95BOOT需要未写保护的磁盘,一遍备份原有的分区启动扇区。



Please choose partition to install the new boot sector,这里可以看到主分区中启动扇区标识符为MSWIN4.1,即Windows 95 OSR2.5的分区启动扇区,W95BOOT已经默认选中,按回车继续,并再次确认。



备份原有分区启动扇区之后,W95BOOT会自动完成修改。



重启之后,通过Previous version of MS-DOS可以启动MS-DOS6.22,但是再次重启选择Normal尝试启动Windows 95 OSR2.5时,出现错误无法启动。



由此可见,这个程序适不适合Windows 95 OSR2.5的,这也可见第三方修改的局限性了。

以上是本文的全部内容。

转自知乎:https://zhuanlan.zhihu.com/p/619483051


本文》有 0 条评论

留下一个回复