标题: [建议]制作Win下的MS-DOS 7.10完整安装程序
[打印本页]
作者: brglng
时间: 2006-7-28 15:33
标题: [建议]制作Win下的MS-DOS 7.10完整安装程序
现在Grub已经支持用chainloader /io.sys直接启动DOS,是否考虑利用GRLDR制作一个Windows 2K/XP下的MS-DOS 7.10安装程序,并支持主分区是NTFS的情况?
[
Last edited by brglng on 2006-8-2 at 09:34 ]
作者: fujianabc
时间: 2006-7-28 17:06
io.sys找不到ntfs上的msdos.sys config.sys command.com和autoexec.bat的,所以依旧无法完成在ntfs上的dos的启动。
作者: brglng
时间: 2006-7-28 20:04
只要把msdos.sys config.sys command.com和autoexec.bat放在第一个Fat32分区就可以了啊!
作者: fujianabc
时间: 2006-7-28 21:27
那io.sys也可以放在那个fat32分区,这就不叫安装在ntfs分区上了。
作者: brglng
时间: 2006-7-29 14:53
我并没有说要安装在NTFS分区上,我只是说支持主分区是NTFS的情况。毕竟DOS是不支持NTFS的,但是通过GRUB可以让DOS在主分区是NTFS的情况下和2K/XP做双启动。
作者: electronixtar
时间: 2006-7-29 22:27
有点像故障恢复控制台了
作者: brglng
时间: 2006-7-31 09:29
这和故障回复控制台是完全不同的,DOS虽然不支持NTFS,但是可以利用NT Loader和GRLDR启动FAT32分区上的DOS。我已经试过了,我的硬盘分了5个区,前面4个都是NTFS,只有最后一个是FAT32,我把io.sys、msdos.sys、command.com、autoexec.bat、config.sys全都放在这个分区里,然后用GRLDR的chainloader (hd0,7)/io.sys就能正常启动DOS!
制做这个安装程序应该是很有意义的,可以让很多主分区是NTFS的人用上DOS,对推广DOS应该是很好的。。。
[
Last edited by brglng on 2006-7-31 at 09:32 ]
作者: 不点
时间: 2006-7-31 10:48
谢谢 brglng 的提醒!我没想到,居然 GRUB4DOS 还可以这么用。
这就是说,对于在扩展分区的逻辑驱动器上已经安装好了的 Win98 系统来说,用 GRLDR 是可以启动它的。
另外这也提示了,如果以前曾在某个主分区安装过 Win98,现在把这个分区直接拷贝到逻辑分区上,然后把主分区的文件系统转换成 NTFS,或者隐藏掉主分区上所有的 FAT 分区。此时,逻辑分区上的 Win98 仍然可以被 GRUB4DOS 启动,因为逻辑分区会被 Win98 认作 C: 盘。
以上是说用 GRUB 可以启动逻辑盘上已经安装好了的 Win98。更进一步,你或许还可以在逻辑分区上安装 Win98 呢!通常 Win98 的安装程序要求必须存在一个 FAT 格式的主分区,因为 Win98 的安装程序需要在主分区上放置 IO.SYS 等文件。
用 GRUB4DOS 的磁盘仿真技术,可以在安装之前,暂时把逻辑分区仿真为主分区,让 Win98 顺利安装到逻辑分区上(此时 Win98 已经把该分区当作主分区来对待)。安装完成之后,就不需要磁盘仿真了,正如前面说的那样,可以直接用 GRUB 来启动逻辑盘上的 Win98。如果这样可行的话,这将是在 Windows 2000/XP 下安装 Win98 的又一种方法了。
作者: brglng
时间: 2006-7-31 11:38
是啊!我想应该可以的~!io.sys只管到c盘上去找系统文件,才不管c盘是主分区还是逻辑分区呢!
另外我还试过,用sys将DOS系统文件传到一个逻辑分区,就可以用chainloader +1来启动dos!也就是说安装win98或许根本不需要磁盘仿真,直接就可以装的!
按照我的机器,如果我用启动盘启动到dos下,然后sys a: c: (这里的c:就是(hd0,7)),然后在menu.lst里配置为chainloader (hd0,7)+1,就可以启动dos了!也许dos是不需要mbr的吧,win98应该也是。
但以上所有这些的前提是:启动所需的系统文件必须在第一个Fat分区!不能是第二个或者第n(n>1)个!因为dos只管c盘!
[
Last edited by brglng on 2006-7-31 at 12:23 ]
作者: brglng
时间: 2006-8-2 09:35
没人顶?我自己顶~
作者: fujianabc
时间: 2006-8-2 09:43
的确,msdos 7.1只认c:,而不管此分区是主分区还是逻辑分区,哪怕在c:第二硬盘上也一样启动(只要第一硬盘上没有fat分区)。
另外,如果dos是从软盘启动(包括虚拟软盘),那只认a:,而不任其它。
作者: Wengier
时间: 2006-8-2 12:01
我记得以前好像曾试着在虚拟机中将NTFS主分区的标识和引导记录都改成FAT32的,并在这个主分区上放置了IO.SYS文件,结果真的启动到DOS提示符下了--虽然完全跳过了其它启动文件,不过将它们放在第一个FAT分区上就解决了。但是,由于直接改主分区的标识有危险,所以此方法并不实用。当然,现在用GRUB4DOS可以完全避免此危险,要实用多了。不过,由于GRUB4DOS/GRLDR并非MS-DOS中自带的文件,所以可考虑试着做一个MS-DOS 7.10特别安装版,专门用于解决在分区情况比较复杂的硬盘上安装DOS。
作者: weilong888
时间: 2006-8-2 12:24
这东西搞出来的话,应该是有很强的实用性的。现在很多人用NTFS文件系统了。
作者: brglng
时间: 2006-8-2 13:11
要说grub不是ms-dos中自带的文件,那么doslfn、ctmouse、vide-cdd.sys等等都不是啊,可是还是把它们包括进去了。
我只是觉得做这样一个安装程序可以让很多因主分区不是fat32而不敢装dos的人用上DOS的完整版,这无疑是推广、普及DOS的一个很好的举措!我自己是没有时间,而且编程水平比较差,所以只好请教各位高手了:p 甚至于我觉得可以把两个版本的安装程序整合起来,安装时自动判断安装环境和分区情况,根据实际情况配置系统,那样就更好了!
另外doslfn应该可以更新到0.40b版了吧!vide-cdd.sys应该可以换成qcdrom了。。。其实还可以把usb设备的驱动全都放进去。(个人意见)
作者: brglng
时间: 2006-8-2 13:18
另外我觉得哪位汇编高手写一段ntfs里引导io.sys的引导程序,然后做成一个启动扇区文件在boot.ini里调用应该也可以哦。。。这样的话就要把io.sys和ntldr放在同一个分区里。
作者: Wengier
时间: 2006-8-2 13:30
DOSLFN早就有了0.40c版了(比如
MS-DOS 7.10标准启动盘中就有),甚至0.40d测试版都非公开发布了,所以如只是想更新到之前的0.40b版的话恐怕并不妥也没有必要;而QHIMEM目前还在不断修改更新中,所以最好等更稳定一点的时候再正式采用。而且要注意一点,DOS完整版与启动盘不同,前者应该比较正式,应尽量使用的是原始软件,除非确实有需要尽量不要带有其它外部软件。因此它不能直接与DOS启动盘相比,除非是如上所提到的特别安装版本。
作者: 80286
时间: 2006-8-2 15:21
啥时可以见到特别安装版本??
作者: weilong888
时间: 2006-8-2 19:23
其实只要把文件全部copy到一个fat32的分区,然后再chainloader (hdx.x)/io.sys就可以了。
作者: fujianabc
时间: 2006-8-2 20:46
Quote: |
Originally posted by brglng at 2006-8-2 01:18 PM:
另外我觉得哪位汇编高手写一段ntfs里引导io.sys的引导程序,然后做成一个启动扇区文件在boot.ini里调用应该也可以哦。。。这样的话就要把io.sys和ntldr ... |
|
ntfs的引导扇区别看只有8KB,但除了微软内部人员外,没人能够完全读懂这8KB,据说里面藏着很多秘密。
作者: Wengier
时间: 2006-8-2 22:11
Quote: |
Originally posted by weilong888 at 2006-8-2 07:23 PM:
其实只要把文件全部copy到一个fat32的分区,然后再chainloader (hdx.x)/io.sys就可以了。 |
|
可没那么简单吧。如果仅仅这样的话功能和兼容性都会很糟糕的。
作者: brglng
时间: 2006-8-31 14:39
大家讨论一下,如何做这个安装程序好呢?
做成命令行的还是GUI的?
用VC?VB?还是别的什么?甚至是批处理?我觉得VC/VB之类的不好,因为要runtime。
还有,怎么安排安装包内的目录结构?安装文件打包成什么格式?我个人认为用CAB比较好,因为2K/XP里直接用Expand命令就可以解压。
其他还有实际制作过程中很多问题,比如怎么获得当前活动主分区的盘符、怎么获得第一个FAT分区的盘符、怎么获得硬盘号、分区号……等等
大家讨论讨论吧!
作者: xuantian
时间: 2006-9-4 07:23
不如在虚拟机中运行DOS更方便的
这样有不明白的地方就可以在主系统中查询嘛