问题描述:近来从光盘上复制一电影文件到硬盘上,复制到某一进度时,速度忽然越来越慢,不一会儿,弹出一错误提示窗口“无法复制:数据错误(循环冗余检查)”。重复几次,依然如此。
问题分析:出现这种情况,是因为光盘刻录时有某些数据记录不正确,也有可能是光盘与你的光驱不兼容,或光驱某处物理损坏读不过去。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。若CRC校验不通过,系统重复向硬盘复制数据,陷入死循环,导致复制过程无法完成。
解决办法:注意到在上述过程中实际已有一部分数据复制到硬盘,只是碰到某些数据CRC校验不通过时,Windows的复制命令无法跳过这些数据继续执行。而当操作无法完成后,系统会把已经复制到硬盘上的数据删除,这样导致复制完全失败。如果在复制时能跳过错误数据,这个问题不就能解决了吗?
我们从网上下载文件时,较常用的下载工具是FlashGet。FlashGet可以把一个文件分成几部分同时下载,也可以同时进行多个下载进程。那么能不能在复制本地文件时也用FlashGet来多进程操作呢?答案是肯定的。
实战操作:首先,你需要有一个本地站点。对于Windows 2000的用户,只要系统中安装了IIS(Internet信息服务)就可以了。如果还没有安装,那么到“控制面板→添加/删除程序→添加/删除Windows组件”中,点击组件,选择IIS,点“下一步”,插入安装光盘即可。
接着,创建一个虚拟目录,地址对应于你的光盘盘符,这样就无须对IIS的配置作任何改动。以Windows 2000的IIS5.0为例,创建虚拟目录的步骤如下:
1. 在“开始菜单→程序→管理工具”中启动IIS;
2. 在“默认Web站点”上点右键,选择“新建→虚拟目录”;
3. 输入目录名称,假定名称为hao;
4. 输入目录路径(如图1,路径应为你的光盘路径,并且此时光驱中应有光盘,否则不能创建),其余无须更改,一直“下一步”就可以完成了。
小提示:对于Windows 98的用户,可以安装PWS(个人网站发布系统),安装程序是Windows 98安装盘的add-ons\pws\setup.exe,之后再创建虚拟目录。
然后,启动FlashGet,新建一下载任务,在网址栏中输入“http://localhost/hao/天地英雄.rm”(如图2)。
这里的“hao”就代表了光盘盘符。若文件不在光盘根目录下,则还应加上完整的路径。然后选择适当的下载目录,保持FlashGet默认下的进程数,点“确定”,下载过程就开始了。在FlashGet的窗口查看此下载过程的图表/日志,可以看到文件被分成五个部分同时下载。
当其中一个进程进行到一定进度时碰上错误数据,速度逐渐降为零,但其他几部分仍照常进行。而当其余几部分完成后,又会把剩余的部分分成几部分来下载。这样除了错误数据,其余均被下载到硬盘。此时,FlashGet窗口显示完成99%,速度为0。
最后,到下载目录把文件“天地英雄.rm.jc!”的名称改为“天地英雄.rm”,复制过程就完成了。这样做速度虽然比直接从光盘复制到硬盘要慢一些,但避免了对错误数据的重复操作,使复制过程基本顺利完成。点击此文件播放,非常流畅,文件缺少极少的数据根本不影响该文件的正常播放。至此,大功告成。