CD 刻录不正确,但内容正常

CD 刻录不正确,但内容正常

我正在备份一些数据。我genisoimage使用以下命令使用版本 1.1.11 制作了数据的 ISO 映像:

$ genisoimage -l -J -r -o ../image.iso .

然后将其刻录到 CD

$ sudo wodim dev=/dev/sr0 image.iso

然后我想验证 CD,所以我首先查看了它的大小

$ sudo isosize -x /dev/sr0

这给了我写入轨道的大小,然后使用块大小和计数dd的输出将轨道复制到另一个文件。isosize

现在,我从 CD 获得的结果图像比我写入的原始图像要小。所以我认为 CD 可能已损坏或映像太大:原始映像为 696 MiB,而 CD 的声明容量为 700 MB。

出于好奇,我使用安装了原始映像和从 CD 获得的映像mount -o loop。然后我将两张图片的内容与

$ diff -ru <mount point 1> <mount point 2>

显然它们是完全一样的。

怎么可能原来的图像没有写正确,而图像的内容却是一样的呢?

wodim将图像刻录到介质时是否执行任何转换?这可以解释为什么 CD 上的轨道与原始 ISO 映像不同,但映像和轨道中的数据相同。

或者 ISO 映像末尾是否包含一些填充,以便即使删除填充,图像也可以正确使用?

答案1

Genisoimage 缺乏维护并且充满错误。切勿将其用于备份!

mkisofs这是从 2004 年 5 月开始到 2007 年 5 月结束的原始程序的一个分支。它保留了 2004 年的开发状态,并添加了大约 2004 年的开发状态。 50 个 Debian 特定错误。与此同时,原版mkisofs的尺寸和功能都增加了一倍。

mkisofs起源于 1993 年,在 2006 年夏季之前从未得到过深入的程序验证。2006 年 8 月,许多错误已被识别并修复,但这些修复从未进入分支。如果您使用的是 2006 年末或更新版本的原始文件mkisofs,则可以确保mkisofs正确完成的备份会产生与原始文件系统相同的文件系统。

isosize不是cdrtools套件中的程序。我无法判断它的输出是否可靠。

wodim是 fork 的一部分,如果您使用像您提到的那样的命令行,则会强制它使用较差的驱动程序。使用原始cdrecord程序并dev=完全省略该选项或使用记录的 SCSI 地址语法。这样,cdrecord就能够为设备选择最佳的驱动程序。

顺便说一句:创建的 ISO 映像的大小mkisofs通过填充进行四舍五入,并且仅检查 ISO-9660 主卷描述符中提到的扇区数的程序可能会得到太小的值。

相关内容