中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 未整理篇
自己做“N合一”光盘
作者:qihboy 时间:2003-02-14 11:09 出处:互联网 责编:chinaitpower
              摘要:自己做“N合一”光盘
这段时间流行了一阵“N合一风,最早是WIN2000PROSERVERADVSERVER三个版本做成一张光盘,刚开始我还以为是简单的把三个系统的安装盘刻在一张上面,后来大概算了一下,少说也有900M-1G的数据,不太可能。下了一张来看看,发现做法非常新鲜:

其实WIN2000的三个版本的安装盘中,有大量的文件是相同的,特别是语言包/字库(I386\LANG目录)以及写字板等自带应用程序,以及那个50Mdriver.cab。不同的只是相对少数的系统文件。这种N合一光盘将ISO映象经过特殊处理,重复的文件,实际数据在光盘上只有一份,通过类似于修改光盘目录表的办法,让不同的目录/文件指向相同的数据区。完成ISO修改后再刻成光盘。这样,既省了空间,又让每个目录看起来仍然独立、完整。

那么到底有多少相同呢?做了个实验,我有一个WIN2K PRO安装目录和一个ADV SERVER安装目录,分别是260M280M左右。(为了省空间,我去掉了除简/繁体中文外的其它语言包,象韩文日文阿拉伯文,我这辈子都用不到)。两个目录如果简单的刻在一张盘上,将占540M左右的空间。而用N合一的方法,相同文件只处理一次,合并下来只有340M左右。照这个数字看来,二者有70-75%是相同的!不同部分只占各自的25%-30%!依此数字估算,就算将SERVER也加进去,最后的大小也应该只有400-450M,相对于简单相加的800M,几乎少了一半。如果你不想将三个差不多的WIN2000分别用三张CDR保存的话,可以考虑自己做个N合一光盘。

说到这里不仅要提一下DOS/WIN文件系统的落后。UNIX/LINUX从最开始就提供了符号连接的功能,一个简单的ln命令就可以完成上面的工作,而在DOS/WIN下,这种操作必须借助专门的软件通过修改ISO进行,而且这种结构还不能存在于硬盘上,因为它在所有针对DOS/WIN的磁盘检查软件看来,都是交叉连接,会被更正。

好了,别扯远了。话说回来,理解这种方式很容易,实际做起来呢?关键是相同文件是怎么判断。靠人工是很麻烦的。实际上微软内部提供了一个工具,叫CDIMAGE,专门干这个。加上一个-o参数,就可以实现自动优化的功能。MS很多内部发行版本,都是用这个办法在一张盘上。这个小工具解压只有70K
当然它不光是用来做WIN2000N合一。对所有大量文件重复的情况,用它都可以发挥极大作用。不过……好象这种情况不多……大家举点例子?

具体做法:

1、建一个目录,把它看成是你要做的光盘的根目录,把所有要放上去的内容全弄进去,比如,这个目录叫c:\ewin3in1,里面分别有

c:\ewin3in1\pro
c:\ewin3in1\server
c:\ewin3in1\advserver

目录,分别对应三个WIN2000版本。现在查看目录属性,应该在800M或更多,无法放在一张光盘上。

2、现在用CDIMAGE程序,在另一目录(你想产生ISO文件的目录)中运行:

cdimage -lWin2K3IN1 -t08/22/00,00:00:00 -h -n -o -m c:\ewin2k My3IN1.ISO

直接运行CDIMAGE将显示参数说明。下面简单解释一下常用参数意义:

-l : (是JKLL,不是IBMI)这是光盘的卷标
-t : 将所有文件设成指定的时间,看起来很专业
-h : 包括隐藏文件
-n : 允许长文件名

-o : 这是最重要的,CDIMAGE的精华就是它。自动判断重复文件,对重复文件只处理一次,并自动修改相关的文件指向。默认是使用文件大小和MD5算法进行比较(我也不太懂,大概是和CHECKSUM差不多概念的方法吧)从概率角度来看准确性相当高,但并不是逐字节对比。如果你要求逐字节对比,用-oc参数。不过速度极慢。

-m : 不加这个参数的话,将不能产生大于650MISO映象

c:\ewin2k : 这是光盘的根目录。CDIMAGE将以此目录开始构造光盘目录结构,硬盘上的c:\ewin2k\pro将变成光盘的
x:\pro

My3IN1.ISO :
这是最后生成的ISO文件的名字。它已经是优化后的了。

3、最后只需用烧录软件(如EASY CD CREATORCREATE DISK FROM IMAGE)将ISO刻成光盘即可。

至此我们的N合一就做完了。当然这张盘只是简单的将三个安装目录放在一起,而且不能启动。比较理想的情况是,将光盘做成象2000正版那样自动启动并开始安装的(这个已经有人做到了),更理想的情况是开机出现菜单,可以选择安装PRO/SERVERADVSERVER,然后自动调用相应的安装程序。

这种盘当然也有缺点,而且是显而易见的:

1、如果光盘有某个地方损坏,刚好又是大家共享的系统文件,那么可能3WIN2000都将报废,无法安装。普通光盘只是损坏那个文件所属的那一个版本。

2、最好要有光盘刻录机,这种ISO镜象,用WINIMAGE解是没有意义的,WINIMAGE并不懂得这种修改过的结构,它将按目录表把所有文件解到硬盘,相同文件被复制了若干份。相当于还原成优化之前的状态。象那个EWIN 6合一,解开后好象有1.9G左右。

不过相对来说这些缺点都不重要。


别小看这些小东西,很难找

点击这里下载CDIMAGE

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有