我正在尝试将一个硬盘驱动器的内容复制到另一个硬盘驱动器。
但一旦复制完成,副本占用的空间就会比原始文件少。
因此并非所有文件都被复制。
我怀疑这可能是因为在一定数量的文件夹之后,文件没有被复制。
这是正确的吗?如果是这样,我该如何防止这种情况发生?
操作系统:Windows 8.1 Pro
抱歉,我的意思是 700英国不是MB!!
我现在正在 Linux 上尝试,看看是否会发生同样的情况。
答案1
简短回答:
不一定。只是设备之间的簇大小不同。
再说几句:
当你将文件从一个设备复制到另一个设备(从一个硬盘复制到另一个硬盘)时,你甚至必须考虑不同的簇大小。文件系统类型动物园这里只需说明一下,分区的组织方式就像算术练习册一样,字节按扇区分组,就像练习册中方块按页分组一样。空闲空间和已用空间 (FAT) 的索引仅考虑了这些群组. 扇区可以是空闲的,也可以是满的,特里姆。
因此,文件的大小取决于所使用的有效字节数(如果它是一个文本文件,并且只包含单词“你好“它将是 2Bytes),以及设备上使用的空间大小(如果一个扇区是 4kB,它将是 4kB 的倍数,如果在另一个设备上,扇区是 512 字节,它将是 512B 的倍数)。
另一方面,如果复制大量文件的时间很长并且该文件是临时文件,则可能会出现写入或读取操作错误、您无权访问某些文件或在此期间删除某些文件的情况。
您使用的程序通常会通过一些错误消息和错误退出代码来通知您。例如,在 Linux 下,您可以通过在 shell 中写入来捕获退出代码echo $?
。如果它返回一个非 0 的值,则表示错误。如果您没有提前捕获这些消息,则必须检查它后验。
之后你复制了大量你可以检查的文件,迅速地,如果文件数量和总有效字节数匹配。更有效的检查方法是计算并比较md5sum针对两个副本上的每个文件。如果匹配,则所有内容均正确。至少您可能需要检查权限和日期。