Board logo

标题: 原创:如何改造出超强的MS-DOS 7.10启动盘(下)  [打印本页]

作者: MYS     时间: 2002-11-2 00:00    标题: 原创:如何改造出超强的MS-DOS 7.10启动盘(下) 

-------由于以下部分要进行频繁的磁盘操作,最好先复制到硬盘上进行----------
    第三步:压缩。
    这部分才是最需要技巧的。前面提到Win98自带的DOS系统盘中的EBD.CAB就是一个压缩包,通过压缩打包方式减少软件的体积,使得空间有限的软盘可以存放更多的东西。比如我们常用的WINZIP,WINRAR(DOS下对应的是PKZIP和RAR)就是这类软件。不过,注意不要把太多的软件打包进EBD.CAB中,一个巨大的压缩包会让你的软盘启动过程变得难以忍受。
    我们这里所指的压缩不止打包,因为启动盘上最多的是独立的程序,所以更重要的是对驱动程序,可执行文件进行的压缩。压缩包内的软件要解压才能使用,不适合这一类文件。这类文件的压缩方式是:压缩软件把它压缩后在上面加一段可运行的自解压代码,运行时这段自解压代码在内存中把文件重新解开并直接运行,就和某些病毒的原理是一样的,实际早期也曾经出现过一只会“做好事”的病毒,可将各类可执行文件的体积压缩。这下你明白了吗?因为现在硬盘又大又便宜,因此这类软件也不那么为新用户所熟悉了。下面我们来介绍几种DOS下的压缩软件。
    1、SYSPACK 专门压缩各种驱动程序(.SYS)文件,它的用法很简单,如:
       syspack himem.sys 就可对himem.sys进行压缩,压缩后用法不变
       下面是部分被SYSPACK压缩后的SYS文件及其大小,上面的VICE_CDD.SYS就用它压缩
       ASPI4DOS.SYS        10,022
       ASPI8U2.SYS         27,991
    2、UPX1.23版,专门压缩各种EXE文件,这是目前压缩能力最强的软件,它有比较多的参数
       用法如:UPX -9 SCANDISK.EXE 将SCANDISK.EXE用最高压缩率压缩
               UPX  D SCANDISK.EXE 将UPX压缩的SCANDISK.EXE还原
       下面是部分被UPX压缩的EXE文件及其大小,UPX还可以压缩WIN9X的EXE文件
        EXTRACT.EXE         49,743
        SCANDISK.EXE       120,323
        LOW.EXE              29,491  硬盘低级格式化工具
        PCT.EXE              33,475  SOFTSCAPE PCTOOLS
     3、DIET1.41   可以压缩EXE,COM等文件,也可压缩资料文件。
    DIET对EXE文件的压缩率不高,但可压缩部分特殊格式的EXE文件,例如EMM386.EXE和SMARTDRV.EXE,这两个软件用其它软件压缩后是不能运行的,只有DIET可以。而且压缩率相当高,EMM386可由120K压缩到50K,45K的SMARTDRV压缩后只有15K。
     4、DIET1.41和PKLITE2.1
    这两个软件可以压缩EXE和COM文件,PKLITE还可压缩WINDOWS3.X的应用软件,因为压缩率不高,一般只用于压缩COM文件,一般情况下DIET的压缩率比后者高些。
     5、COM2EXE
    把COM文件转化为EXE格式,就可以用UPX等高压缩软件对其压缩,获得更小的体积。我就用它把三茗科技的几个COM文件转化成EXE文件再用UPX压缩。
    6、UNP4.12
    这个软件用于解压DIET,PKLITE,PACKEXE,LZEXE等压缩了的软件,因为不少软件在发行时已经被压缩过,如启动盘中的SCANDISK已经被PKLITE压缩,要先用UNP解压,然后才能用UPX进行压缩。还有一个名气不如UNP大的解压软件X_tract,其解压缩能力比UNP还稍强一些。
    并不是所有文件都可压缩,更不是所有软件压缩后都能正确运行,因此压缩前要做好备份。

    第四步:解包和重新打包,增加第三方工具软件。
    EBD.CAB压缩包应该先解压,取出其中的软件进行处理,但在启动盘中这个压缩包应该保留,因为某些软件压缩后是不能运行的,要放在压缩包内才达到减少体积的效果。
    SCANDISK经UPX压缩后,再放入压缩包中已经不能再被压缩了,像这样的软件就应该取出来。压缩包的体积就减少了许多,而FDISK.EXE,FORMAT.COM,EDIT.COM,是无论用DIET还是UPX之类压缩后都不能运行的,因此原来不在压缩包中的FDISK.EXE反而应该放到压缩包内,还可以把第三方的软件压缩进EDB.CAB中。
    重新打包的软件可以用CAB2001,WINCAB等,DOS下也有个MAKECAB,不过我没用过。

    第三方软件最好是选那些体积小,功能强的第三方软件,如仿PCTOOLS的SOFTSCAPE PCTOOLS,硬盘低格程序LOWFORMAT,FREEDOS的CTMOUSE鼠标驱动等。三茗科技的硬盘检测工具等,再通过上面介绍的方法压缩减少其体积。
    如果要制作中文DOS盘,则对于汉字系统的选用方面,PDOS95和CCDOS97,UCDOS98等并不是最佳选择,因为其字库、输入法等文件的体积相对较大。如果仅仅是想显示汉字和使用拼音输入,只有80K的袖珍龙汉字系统是首选。如果要有较好的显示效果,能使用拼音、五笔等输入法,并且加上DOS提示信息汉化功能等,则天汇3.1袖珍版加金山5.1拼音、五笔输入法是首选,经过压缩后共用300K,加上DOS显示信息动态汉化功能也仅是450K左右。

    当然,还要对配置文件config.sys和autoexec.bat作些修改,这方面请参考其他资料。
    好了,按照以上的方法,你就一定能按自己的想法打造出超强的启动盘。当你的超级启动盘打造成功时,那么要恭喜你了,你已经不再属于菜鸟行列啦。

文中提到的软件将打包放到放到我的网站上。


[此贴子已经被Wengier于2003-10-16 23:44:02编辑过]



作者: Wengier     时间: 2002-11-3 00:00
这张应该算是MS-DOS 7.10系统工具盘吧,建议再做其它类型的DOS启动盘。
作者: 华龙     时间: 2003-5-8 00:00
我以前也曾经用过压缩来做工具盘,不过就是不如上面这位朋友来得这样全面。佩服佩服!
谢谢上面的朋友提出这么好的方法
作者: 飞机     时间: 2003-5-22 00:00
文中提到的软件将打包放到放到我的网站上。

请给个链接!
作者: Roy     时间: 2003-5-22 00:00


  Quote:
以下是引用MYS在2002-11-2 17:22:21的发言:
    2、UPX1.23版,专门压缩各种EXE文件,这是目前压缩能力最强的软件,它有比较多的参数
       用法如:UPX -9 SCANDISK.EXE 将SCANDISK.EXE用最高压缩率压缩
               UPX  D SCANDISK.EXE 将UPX压缩的SCANDISK.EXE还原

UPX有1.24版很久了(還有1.90 beta呢),還有最高压缩率的參數應該是"--best"呢
作者: maple     时间: 2003-5-30 00:00
THANK YOU!
作者: hesiemens     时间: 2003-6-3 00:00
忘了顶啦。谢谢提供。
作者: 『薇』     时间: 2003-6-7 00:00
THANK YOU
作者: playboy2925     时间: 2003-6-7 00:00
哦,我的那些东东都找不到了,谁那儿还有,改天给我发一份。

作者: 沈洁     时间: 2003-6-16 00:00
顶一下!
作者: zghnxy911     时间: 2003-6-25 00:00
太好了
作者: zghnxy911     时间: 2003-6-25 00:00
kkkkk
作者: 兔子罗杰     时间: 2003-6-30 00:00
真是高手,佩服佩服!
作者: passion     时间: 2003-6-30 00:00
思路很好
作者: kjlulu     时间: 2003-7-2 00:00
顶一下!
作者: 覆水难收     时间: 2003-7-9 00:00
再顶
作者: xiaojimin     时间: 2003-7-17 00:00
如何将”从硬盘启动“加上!?谢谢!!
作者: 沈洁     时间: 2003-7-17 00:00
加入一个叫JO.SYS的文件啊!
作者: Wengier     时间: 2003-7-17 00:00


  Quote:
以下是引用xiaojimin在2003-7-17 8:38:37的发言:
如何将”从硬盘启动“加上!?谢谢!!

请别重复发帖好吗?我们做过很多这种启动盘的,像GRUB做的DOS启动盘等等,论坛中都有下载的!
作者: rsjd     时间: 2003-7-17 00:00
好文章啊,不顶也不行
作者: wg2638     时间: 2003-7-21 00:00
都下不了

作者: zrp49     时间: 2003-7-30 00:00
谢谢提供
作者: 逍遥建     时间: 2003-7-31 00:00

好文,谢!!~



作者: iceboy     时间: 2003-8-10 00:00
upx -l *.* 可以看到那些文件被压缩了,这样就不会为忘记而发愁了!/

遇到不能压缩的文件,可以试试:
upx --force --best source_file destination_file

不过有的软件这样是不能执行的

作者: Wengier     时间: 2003-10-16 00:00
用UHARC压缩?
作者: lostghost     时间: 2003-10-20 00:00
晕啦,我用UPX压缩后很多程序都不能正常运行的,特别压缩率偏高的程序!靠,什么垃圾啊~
作者: mys     时间: 2003-10-20 00:00
不能怪UPX,有些程序是不能压缩的,特别是微软本身提供的SYS、FORMAT,FDISK和EDIT。一般的程序用UPX压缩都是没有问题的。
作者: Wengier     时间: 2003-10-20 00:00


  Quote:
以下是引用mys在2003-10-20 9:46:26的发言:
不能怪UPX,有些程序是不能压缩的,特别是微软本身提供的SYS、FORMAT,FDISK和EDIT。一般的程序用UPX压缩都是没有问题的。

SYS、FORMAT、FDISK、EDIT等程序不是完全不能被压缩的,只是不能用UPX压缩。比如说,FDISK和EDIT可以用COMPREXE进行可执行文件压缩的,而SYS和FORMAT则可以被aPack的*特别版*进行可执行文件压缩。

作者: jawbin     时间: 2006-5-25 11:12
好贴,不过我只看到这个下,有空找到上看看
作者: HowardLee     时间: 2006-5-25 15:27
这些软件都是很多年以前用的了,很多都没有出新版本,早都已经存档在光盘里了,现在有U盘和CD、PXE,还是不是很需要这样的工具了。