我有许多 CD 和 DVD(有些是 RW,有些不是)。其中一些磁盘包含简单文件(例如 .txt、.doc 等),而另一些磁盘包含戴尔系统驱动程序、各种 Windows 操作系统等。我正在复制所有这些磁盘,因为原始磁盘已经很旧,并且保留期(磁盘更容易损坏之前的一段时间)将在不久的将来到期。
我遵循的流程是:在 MacOS 上创建 .cdr 磁盘映像、转换为 .iso 映像、将 .iso 刻录到新磁盘中。
我的问题:我想通过某种方式比较来验证新磁盘是否与旧磁盘完全相同(我知道 MacOS 的磁盘实用程序提供了“验证”选项,但长话短说,我无法使用该功能来解决手头的问题)。
我查看了许多网站,其中一些网站提供了解决方案,例如使用 ImgBurn、Winmerge 和散列两个 ISO 并进行比较。但有一个问题:这些网站似乎都没有考虑或解释这些方法是仅检查 .iso 映像中的文件,还是检查 .iso 映像中的文件以及元数据(分区布局、文件结构、引导代码等)。
我的问题简而言之:哈希(可能是 SHA-256)、Winmerge 或 ImgBurn 是否考虑了隐藏数据(元数据和其他可能对用户不可见的数据)以及 .iso 文件中包含的文件?另外,如果我将磁盘本身(插入其中一个驱动器)与其自己的 .iso 映像进行比较会怎样?
抱歉写得太长了。我会尽量提供尽可能多的信息。提前谢谢您!
另请注意,我不愿意使用 ImgBurn 和 Winmerge 等外部工具;但如果别无选择,我愿意使用它们。愿意使用 BeyondCompare,因为我已经可以使用它了。
答案1
如果您希望逐个文件进行检查,您可以在 macOS 上使用以下命令执行此操作diff
(假设您同时拥有原始文件和副本的两个驱动器):
diff -rq /Volumes/Original /Volumes/Duplicate
使用两个磁盘安装路径来更新路径。这将检查每个可访问的文件,包括告诉您文件在一个路径中存在但在另一个路径中不存在的情况。
该-r
选项使 diff 递归到目录结构中,并且该-q
标志使其仅输出不同的文件(而不是尝试显示每个文件内的差异)。