中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » 其它操作系统综合讨论区 » 用NTLoader挂载双Win9X引导
作者:
标题: 用NTLoader挂载双Win9X引导 上一主题 | 下一主题
xkai2010
初级用户





积分 121
发帖 57
注册 2010-8-9
状态 离线
『楼 主』:  用NTLoader挂载双Win9X引导

从nt 3.1开始,boot.ini引导操作系统的方式就一直持续到了2003,这也给我们安装多系统引导提供了可能。但,9X系统没有多重引导能力,我们只能用批处理切换引导文件,有点麻烦。这次我们的目标是要把两个Win9X与2003同时装在一台机器上。最麻烦的地方就在于:如何切换9X?这就要用到boot.ini提供的两个参数了,/win95引导Win9X,/win95dos引导DOS。下面安装一个Win95 OSR2.1、WinMe、XPSP3、2003SP2四系统共存的环境。
1.安装系统应遵循低版本到高版本的顺序,所以先装95,直接装入C盘;装好后复制C盘下的Io.sys、Msdos.sys、Command.com、Config.sys、Autoexec.bat等关键启动文件到一文件夹下备用。
2.在DOS下装Me(不能在95下装,那样成了升级安装了),到D盘,同样备份上述五个启动文件到另一文件夹。
3.依次安装XP、2003到E、F盘,形成多引导环境。至此安装完成。
4.下一步需要解决95与Me的引导问题,这时上面提到的两个参数就用上了。把Me的五个启动文件的后缀全部改成.dos,再把两个系统的启动文件复制到C盘下覆盖原文件。这时主启动文件就又变成95的了,Me的则成了DOS版“附属”文件。
5.把bootsect.dos复制一份,分别修改原件和复印件的文件名,例如改成win95.dat和winme.dat。(这一步不做也行,只是为了方便多系统选择)
6.修改boot.ini,删去C:\="microsoft windows"这一行,加入下面两行:
c:\win95.dat="Windows 95" /win95
c:\winme.dat="Windows Me" /win95dos

当然,引号中的文字只要自己明白就行。OK了。

下面来看看这种方法的原理。两个dat文件都是bootsect.dos(NT与9X双引导中保存的9X引导扇区)的副本,上面我们是保留了Win95的启动文件而修改了ME的启动文件名,相当于Win95作为主9X系统,WinMe作为DOS系统。这样启动到95时就是上述10个启动文件。而启动到ME后,我们可以看到文件名变成5个WinMe的启动文件+4个.w40后缀文件+winboot.sys。到这里大家不难想到当年Win95/98与DOS6.22双启动的情景,也是这样切换文件名的。因此,/win95和/win95dos这两个参数实际上是在引导Win9X时模拟了Win9X与DOS的双启动,我们只要在文件名上构建出一个符合双启动Win9X与DOS的模式,就可以用boot.ini实现引导两个9X了。

同理,上面的例子如果想让WinMe作为主系统,那么只要把Win95的引导文件后缀名改成.dos,再在boot.ini中对Win95和WinMe的引导交换一下使用的参数,即可。(理论上是可行的,但我测试中交换文件后出现WinMe正常,Win95不能启动的现象,不知道是什么原因)

[ Last edited by xkai2010 on 2010-8-15 at 16:42 ]

   此帖被 +40 点积分         点击查看详情   
评分人:【 doslike 分数: +40  时间:2010-8-15 10:40


2010-8-15 10:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xkai2010
初级用户





积分 121
发帖 57
注册 2010-8-9
状态 离线
『第 2 楼』:  

boot.ini中的其他几个使用较少的参数
1. /fastdetect或/noserialmice(快速检测或无串行鼠标),其中在NT中使用/noserialmice,在2000以后使用/fastdetect,但/noserialmice在2000以后的系统中仍可使用。我在2003下换成/noserialmice参数试验,效果相同。作用:不检测指定串口上的鼠标。例如/noserialmice=com1,2。如果不指定串口,则禁止所有串口上的鼠标设备。
2./pcilock(锁定PCI),锁定PCI设备的资源分配,仅由BIOS分配资源(DMA、IRQ等参数),不由操作系统指定资源配置。
3./year(年),强制使用指定年份,如/year=2030,则系统每次启动后都会把日期调到2030年,但仅在所指定的系统中有效,不会像更改日期时间那样写到CMOS中。
4./detecthal(检测硬件抽象层),系统每次启动都会自动检测合适的HAL类型,这在封装系统时很有用。因为不同电脑所能支持的计算机类型不尽相同,而这正好是由HAL所决定的。

2010-8-15 19:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fujianabc
金牌会员





积分 3467
发帖 1616
注册 2004-6-21
状态 离线
『第 3 楼』:  

/detecthal只对longhorn的部分ntldr有效

2010-8-15 19:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xkai2010
初级用户





积分 121
发帖 57
注册 2010-8-9
状态 离线
『第 4 楼』:  简单说一下Win9X与DOS6.22双启动的原理

上面借用ntldr的/win95和/win95dos模拟Win9X与DOS的启动过程,实现了Win9X与WinMe双引导。但在测试中我发现,尽量用低版本的9X/ME当95,用高版本的9X/ME当DOS,这样成功率高一些。我的测试中用ME当主9X系统时,虽然能正常切换文件名,但95老是启动不了。

这两个参数与9X/DOS双启动的过程是完全一样的。注:ME没有引导DOS的功能
1.在DOS下安装9X时,安装程序把DOS的五个启动文件的扩展名改为.DOS
2.当从9X的启动菜单中选择启动以前的DOS时,就会加载旧版DOS系统。此时,引导程序把9X的IO.SYS改名为WINBOOT.SYS,把其余四个文件的后缀改为.W40,再恢复DOS系统原来的文件名(即那五个.DOS文件)
3.重新开机时,引导程序发现文件名被修改,就又会改回来,让9X正常启动

2010-8-15 22:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xkai2010
初级用户





积分 121
发帖 57
注册 2010-8-9
状态 离线
『第 5 楼』:  制作最小的系统启动盘

这种启动盘可以用来启动最小的系统环境。

1.Windows 9X/ME
1)准备一张空白软盘。说明:市场上买来的软盘是直接可以用的,虚拟机里创建的软盘镜像则需要格式化才能用。
2)把\Windows\command\ebd下的IO.SYS和COMMAND.COM copy到软盘上。
3)如需要启动Windows系统,可把C:\MSDOS.SYS拷入软盘。

2.Windows NT~2003
1)准备一张空白软盘。
2)把C:\下的ntldr、ntdetect.com、boot.ini、bootfont.bin、bootsect.dos等启动文件复制到软盘上。

2010-8-16 22:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: