使用 Robocopy 对压缩文件进行硬盘镜像

使用 Robocopy 对压缩文件进行硬盘镜像

我尝试将现有磁盘镜像到空间较小的新磁盘上。文件结构、属性和 ACL 与源磁盘上的完全相同非常重要。

为此我尝试过robocopy.exe

robocopy $sourceDisk $destinationDisk /mir /XD "System Volume Information" "`$RECYCLE.BIN" /copyall /r:1 /NP /NFL

该命令将所有文件夹和文件及其属性、ACL 等复制到目标磁盘,但以下文件夹和文件除外:压缩-属性,即在源磁盘上压缩的文件或文件夹在目标磁盘上不再压缩。缺少此属性。

robocopy 是否有选项可以执行此操作(我没找到)。或者是否存在其他方法可以将磁盘或文件结构的精确副本复制到另一个磁盘?

答案1

我能够使用命令行工具strarc.exe来解决这个问题LTR 数据

据我所知,此工具在比 robocopy 更低的层上复制文件。所有属性、ACL 都与源上的完全相同 - 甚至时间戳也是如此。连接点也已正确复制。

命令是

$srcDisk = "Y:"
$dstDisk = "Z:"
cmd /c "C:\temp\strarc.exe -cjd:$srcDisk | C:\temp\strarc -s:8 -xd:$dstDisk"

它将 的副本$srcDisk(即 Y:)复制到 ($dstDisk即 Z:),包括连接点并忽略有关 8.3 兼容性的消息(-s:8)。

我推荐这个工具通过命令行进行精确备份。

答案2

我不知道有任何版本robocopy支持复制压缩属性。(我刚刚测试了 Windows Server 2012 R2 附带的版本,只是为了确保比我的 Windows 7 笔记本电脑更新的版本仍然不包含此行为。)

如果您要使用,robocopy则需要编写一些脚本来跟进需要压缩的文件/文件夹的压缩。(我可以想象某种脚本将robocopy与命令/ia行参数一起使用,首先仅复制压缩文件,压缩所有复制的文件,然后robocopy使用参数再次运行/xa以复制非压缩文件。)

就复制磁盘的“精确结构”而言,逐扇区复制是可行的方法。类似dd将允许您对卷进行逐扇区复制。

如果您对“精确结构”的定义不太严格,并且您只是在寻找目录结构、文件数据、属性(包括压缩)和 ACL 的精确副本,我会查看磁盘映像工具。Microsoft 的图像处理工具就是一个例子。(您可以从 Microsoft 的各种软件包中获取 ImageX——Windows 自动安装工具包包含一份副本,我相信它也包含在 Windows 部署服务中)。还有很多第三方工具也符合要求。

相关内容