这段时间流行了一阵N合风最早是WIN的PROSERVER和ADVSERVER三个版本做成一张光盘刚开始我还以为是简单的把三个系统的安装盘刻在一张上面后来大概算了一下少说也有MG的数据不太可能下了一张来看看发现做法非常新鲜 其实WIN的三个版本的安装盘中有大量的文件是相同的特别是语言包/字库(I\LANG目录)以及写字板等自带应用程序以及那个M的drivercab不同的只是相对少数的系统文件这种N合光盘将ISO映象经过特殊处理重复的文件实际数据在光盘上只有一份通过类似于修改光盘目录表的办法让不同的目录/文件指向相同的数据区完成ISO修改后再刻成光盘这样既省了空间又让每个目录看起来仍然独立完整 那么到底有多少相同呢?我自己做了个实验我有一个WINK PRO安装目录和一个ADV SERVER安装目录分别是M和M左右(为了省空间我去掉了除简/繁体中文外的其它语言包象韩文日文阿拉伯文我这辈子都用不到)两个目录如果简单的刻在一张盘上将占M左右的空间而用N合的方法相同文件只处理一次合并下来只有M左右照这个数字看来二者有%是相同的!不同部分只占各自的%%!依此数字估算就算将SERVER也加进去最后的大小也应该只有M相对于简单相加的M几乎少了一半如果你不想将三个差不多的WIN分别用三张CDR保存的话可以考虑自己做个N合光盘 说到这里不仅要提一下DOS/WIN文件系统的落后UNIX/LINUX从最开始就提供了符号连接的功能一个简单的ln命令就可以完成上面的工作而在DOS/WIN下这种操作必须借助专门的软件通过修改ISO进行而且这种结构还不能存在于硬盘上因为它在所有针对DOS/WIN的磁盘检查软件看来都是交叉连接会被更正 好了别扯远了话说回来理解这种方式很容易实际做起来呢?关键是相同文件是怎么判断靠人工是很麻烦的实际上微软内部提供了一个工具叫CDIMAGE专门干这个加上一个o参数就可以实现自动优化的功能MS很多内部发行版本都是用这个办法挤在一张盘上这个小工具解压只有K 运行cdimage它会给出详细的命令参数 CDIMAGE CDROM Premastering Utility Copyright (C) Microsoft All rights reserved For Microsoft internal use only Usage: CDIMAGE [options] sourceroot targetfile l volume label no spaces (eg lMYLABEL) t time stamp for all files and directories no spaces any delimiter (eg t//::) g encode GMT time for files rather than local time h include hidden files and directories n allow long filenames (longer than DOS names) nt allow long filenames restricted to NT compatibility (nt and d cannot be used together) d dont force lowercase filenames to uppercase c use ANSI filenames versus OEM filenames from source j encode Joliet Unicode filenames AND generate DOScompatible filenames in the ISO name space (can be read by either filenames in the ISO name space (can be read by either Joliet systems or conventional ISO systems but some of the filenames in the ISO name space might be changed to comply with DOS and/or ISO naming restrictions) j encode Joliet Unicode filenames without standard ISO names (requires a Joliet operating system to read files from the CD) When using the j or j options the n nt and d options do not apply and cannot be used js nonJoliet readmetxt file for images encoded with j option (eg jsc:\location\readmetxt) This file will be visible as the only file in the root directory of the disc on systems that do not support the Joliet format (Windows NT x etc) u encode UDF file system along with mirror ISO file system (n nt d c or j j options apply to ISO portion) u encode UDF file system without a mirror ISO file system (requires a UDF capable operating system to read the files) us nonUDF readmetxt file for images encoded with u option (eg usc:\location\readmetxt) This file will be visible as the only file in the root directory of the disc on systems that do not support the UDF format b El Torito boot sector file no spaces (eg bc:\location\cdbootbin) s sign image file with digital signature (no spaces provide RPC s sign image file with digital signature (no spaces provide RPC server and endpoint name like sServerName:EndPointName) x compute and encode AutoCRC values in image o optimize storage by encoding duplicate files only once oc slower duplicate file detection using binary comparisons rather than MD hash values oi ignore diamond compression timestamps when comparing files os show duplicate files while creating image (o options can be combined like ocis) w warning level followed by number (eg w) report nonISO or nonJoliet compliant filenames or depth report nonDOS compliant filenames report zerolength files report each file name copied to image y test option followed by number (eg y) used to generate nonstandard variations of ISO for testing purposes: encode trailing version number ; on filenames () round directory sizes to multiples of K () write \i directory files first in reverse sort order allow directory records to be exactly aligned at ends of sectors (ISO conformant but breaks MSCDEX) warn about generated shortnames for bit apps under NT b blocksize bytes rather than bytes b blocksize bytes rather than bytes d suppress warning for nonidentical files with same initial K k (keep) create image even if fail to open some of the source files m ignore maximum image size of bytes a allocation summary shows file and directory sizes q scan source files only dont create an image file NOTE: Many of these options allow you to create CD images that are NOT compliant with ISO and may also NOT be compatibile with one or more operating systems If you want strict ISO and DOS compliance use the w warning level and correct any discrepencies reported YOU are responsible for insuring that any generated CDs are compatible with all appropriate operating systems Also note that Microsoft company information is placed in the image volume header so dont use this program to generate CDs for companies other than Microsoft 当 |