如果刻录成功,我想将刻录到 DVD 的 .iso 文件的 SHA 哈希与 DVD 本身的映像进行比较,看看它们是否相同。问题是它们不相同,不是因为可能存在错误,而是因为磁盘扇区的工作方式是,如果 1 个扇区半满,它会读取全部扇区,或类似情况。
有什么方法可以使用日工具只读取磁盘上已填充的数据,即直到最后一位/字节不为空,并忽略空白处和其末尾的舍入,以便读取的磁盘映像部分直到填满,将与我用来刻录它的 .iso 相同(当然,如果没有其他错误存在)?
答案1
我现在使用旧的 Lubuntu 16.04.1 LTS amd64 iso 文件和 DVD 光盘进行测试,这是我在新的时候(2016 年)刻录的。我从 DVD 光盘中提取了dd
,
$ sudo dd if=/dev/sr0 of=dvd.img bs=4096
218880+0 poster in
218880+0 poster ut
896532480 byte (897 MB, 855 MiB) kopierade, 95,2247 s, 9,4 MB/s
并将结果与我存储的 iso 文件进行比较,
$ ls -l lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
-rw------- 1 nio 1002 896532480 jul 20 2016 lubuntu-16.04.1-desktop-amd64.iso
-rw-r--r-- 1 root root 896532480 dec 7 12:25 /media/multimed-2/test/test0/temp/dvd.img
$ md5sum lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
d2d7edc41ea03998e267db607f92b40d lubuntu-16.04.1-desktop-amd64.iso
d2d7edc41ea03998e267db607f92b40d /media/multimed-2/test/test0/temp/dvd.img
$ sha256sum lubuntu-16.04.1-desktop-amd64.iso /media/multimed-2/test/test0/temp/dvd.img
1b91a43b0101e03b0890428d3e77198c0d35364cf35e38aaea2755d10ace26a7 lubuntu-16.04.1-desktop-amd64.iso
1b91a43b0101e03b0890428d3e77198c0d35364cf35e38aaea2755d10ace26a7 /media/multimed-2/test/test0/temp/dvd.img
如您所见,大小和校验和匹配。