我有一块 2TB 的硬盘“D”,其 2TB NTFS 分区上有 732GB 的数据,我想将其(硬盘上的所有内容)复制到另一个有 981GB 空间的硬盘“F”(新格式化(NTFS))。
我确保没有进程正在写入磁盘 D 或 F。只有一个备份进程在运行(backblaze),并且我假设它只执行读取操作,所以应该没有问题。
我通过管理员提升的命令提示符开始复制:
C:\Users\Me\Desktop\: xcopy /x /o /h /e /k D: F:
然后大约 20 小时后,命令失败,提示“空间不足”。我在资源管理器中检查,磁盘 F 确实已满 100%。磁盘 D 没有增长,仍然只使用了 732GB。
我完全搞不懂。为什么数据突然变大了?我应该尝试使用 clonezilla 之类的实时 CD 吗?
(附带问题:我能以某种方式加快这个过程吗?)
更新 1
根据建议我尝试了以下操作:
robocopy D:\ F:\ /COPYALL /E /DCOPY:T /R:10 /LOG:copylog.log /XD .bzvol
我将其排除.bzvol
(只有 82 KB),因为如果我不这样做的话,backblaze 就会感到困惑!
一旦 F 满了,就会“无休止地”重复此消息:ERROR 112 (0x00000070): There is not enough space on the disk. Waiting 30 seconds...
以下是一些视觉证据:
我检查了一下,D 盘是不是设置为“压缩此驱动器以节省磁盘空间”。
驱动器 D是由 TrueCrypt 7.1a 加密。我复制时它当前已安装。但我认为这不应该成为这里的一个因素。
更新2
根据新的反馈,我收集了两个分区的一些统计数据。Charl 的说法是正确的。目标磁盘上的簇大小明显更大。我想知道这两个设置中哪一个是“正确的”(更好的)设置,但无论如何,为了成功复制,我别无选择。感谢大家的帮助。
答案1
源卷 D(实际上是 TrueCrypt 容器内的文件系统)和目标卷 F 上的簇大小(分配单元大小)是多少?
驱动器填满的一个假设是卷 F 具有较大的簇大小,而卷 D 有许多小文件。这意味着相同的数据在目标卷 F 上占用的空间可能比在源卷 D 上占用的空间大得多。