如何将1G的原封不动的数据刻录到光盘里面,且照常访问?(200分)

  • 主题发起人 主题发起人 pxlei
  • 开始时间 开始时间
P

pxlei

Unregistered / Unconfirmed
GUEST, unregistred user!
最近得到一张无忧启动的光盘,光盘的容量是650MB,但我把数据拷贝的硬盘,发现有1.2G,
简直太夸张了!1.2 刻录到一张 650MB的光盘,奇迹!!!(我认为)。
请问各位大富翁有谁知道这大概是怎么实现的或者有什么别的方法可以做到?
大家一起交流交流,为我们的微薄的银子奉献一点力量。
 
难道光盘也像当年的软盘有密度高低???
 
光盘上有自解压文件,
到硬盘上后已经解压了!
 
我知道了,通过CDimage,呵呵
 
是不是交叉引用?
 
相同的文件在光盘上只有一份,刻录时把相同的文件都指向这一个文件(通过专门的程序).
一般 N in 1 的光盘是这样做的.前提是不同软件中有大部分文件是相同的.
 
我也不太清楚
 
应该是光盘里有大量的文件的尺寸小于文件系统的最小存储单位如8K,从而致使占用的磁盘
空间与文件总字节数相差很大,而光盘的文件系统是CDFS不受此影响。
 
光盘对刻不行吗?
 
无忧启动我用过,有2G多文件,光盘对刻没问题,建议人手一张,非常好用
不是N合一,目录分的很清楚的,很让人不理解,咋俺的光盘就刻不上劣:“??
 
1、不要指望在一张容量650M的光盘中刻入1G的内容
2、所谓的<无忧启动盘>是利用了 “文件重定向技术”
同样是WIN2K_PRO、WIN2K_SERVE、WIN2K_ADV他们的大部文件都是可以共用的!
好象很多快捷键都指向一个位置,你复制时,WINDOWS是先访问(FAT或NTFS)即文件位置
分配表!再根据其提供的位置COPY文件,实际上是有重复的!
 
那有这种盘呀??
 
以下文章系原文转载,非本人所写,特此声明!
自己做“N合一”光盘 (感谢精品软件Jackeroo提供cdimage程序)
返回windows2000首页
这段时间流行了一阵“N合一”风,最早是WIN2000的PRO,SERVER和ADVSERVER三个版本做成一张光盘,刚开始我还以为是简单的把三个系统的安装盘刻在一张上面,后来大概算了一下,少说也有900M-1G的数据,不太可能。下了一张来看看,发现做法非常新鲜:
其实WIN2000的三个版本的安装盘中,有大量的文件是相同的,特别是语言包/字库(I386/LANG目录)以及写字板等自带应用程序,以及那个50M的driver.cab。不同的只是相对少数的系统文件。这种N合一光盘将ISO映象经过特殊处理,重复的文件,实际数据在光盘上只有一份,通过类似于修改光盘目录表的办法,让不同的目录/文件指向相同的数据区。完成ISO修改后再刻成光盘。这样,既省了空间,又让每个目录看起来仍然独立、完整。
那么到底有多少相同呢?我自己做了个实验,我有一个WIN2K PRO安装目录和一个ADV SERVER安装目录,分别是260M和280M左右。(为了省空间,我去掉了除简/繁体中文外的其它语言包,象韩文日文阿拉伯文,我这辈子都用不到)。两个目录如果简单的刻在一张盘上,将占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。
当然它不光是用来做WIN2000的N合一。对所有“大量文件重复”的情况,用它都可以发挥极大作用。不过……好象这种情况不多……大家举点例子?
具体做法:
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 : (是JKL的L,不是IBM的I)这是光盘的卷标
-t : 将所有文件设成指定的时间,看起来很专业
-h : 包括隐藏文件
-n : 允许长文件名
-o : 这是最重要的,CDIMAGE的精华就是它。自动判断重复文件,对重复文件只处理一次,并自动修改相关的文件指向。默认是使用文件大小和MD5算法进行比较(我也不太懂,大概是和CHECKSUM差不多概念的方法吧)从概率角度来看准确性相当高,但并不是“逐字节对比”。如果你要求逐字节对比,用-oc参数。不过速度极慢。
-m : 不加这个参数的话,将不能产生大于650M的ISO映象
c:/ewin2k : 这是光盘的根目录。CDIMAGE将以此目录开始构造光盘目录结构,硬盘上的c:/ewin2k/pro将变成光盘的x:/pro
My3IN1.ISO : 这是最后生成的ISO文件的名字。它已经是优化后的了。
3、最后只需用烧录软件(如EASY CD CREATOR的CREATE DISK FROM IMAGE)将ISO刻成光盘即可。
至此我们的N合一就做完了。当然这张盘只是简单的将三个安装目录放在一起,而且不能启动。比较理想的情况是,将光盘做成象2000正版那样自动启动并开始安装的(这个已经有人做到了),更理想的情况是开机出现菜单,可以选择安装PRO/SERVER或ADVSERVER,然后自动调用相应的安装程序。目前还不知道有没有人做出来。如果你知道,或是做出来了,一定告诉我。
要做成可启动的安装光盘,有很多要注意的地方,这个贴子可以参考:
http://210.73.66.95:82/wayne/jprjxzubb/Forum2/HTML/011844.html
主要有两点:一是把CDROM_xx.5这些文件放到光盘根目录,让安装程序认为这是原版。另外需要做一个启动软盘的映象文件如boot.bin然后做CDIMAGE的时候用-bc:/boot.bin来让ISO可启动。至于多启动光盘这类东西,大家参考这里,有点旧,但还是有用:
http://nikko.simplenet.com/goldentime/
这种盘当然也有缺点,而且是显而易见的:
1、如果光盘有某个地方损坏,刚好又是大家“共享”的系统文件,那么可能3个WIN2000都将报废,无法安装。普通光盘只是损坏那个文件所属的那一个版本。
2、最好要有光盘刻录机,这种ISO镜象,用WINIMAGE解是没有意义的,WINIMAGE并不懂得这种修改过的结构,它将按目录表把所有文件解到硬盘,相同文件被复制了若干份。相当于还原成优化之前的状态。象那个EWIN 6合一,解开后好象有1.9G左右。
不过相对来说这些缺点都不重要。

感谢 software.cn99.com 论坛的 Jackeroo 寄给我的CDIMAGE。别小看这些小东西,很难找

Su99 (万千新闻组)
 
可以用ActiveISO 来制作!
要说ActiveISO,得先从CDImage说起。CDImage是微软(Microsoft)公司出品的一个用来
制作光盘镜像(ISO)文件的小工具。功能非常强大,可以将一个文件夹里的所有内容做成ISO文件。
但是CDImage最大的缺点就在于它是一个控制台程序,没有图形界面,需要查非常多的参数,而且
参数之间还有排斥,用起来比较麻烦。ActiveISO是一个CDImage的图形外壳。最大的优点就是友好
的的图形界面,就算是新手也能很快学会制作ISO文件。软件使用简单,方便易上手,可以把一个
目录里的所有内容制作成ISO,允许制作大于650MB的ISO文件。
 
呵呵
好象我的猜想没有错
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
819
import
I
S
回复
0
查看
937
SUNSTONE的Delphi笔记
S
后退
顶部