我最近听说 CD 和 DVD 放久了会“变质”。起初这对我来说是个问题,因为我无法为新的 Linux 发行版写入启动盘(至少在我获得新的可写入盘之前),但后来我想到我拥有的一些 Windows 游戏在我再次访问 Windows 系统时可能会变得无法读取。
我决定使用以下命令行制作压缩备份文件:
dd if=/dev/cdrom | lrzip -l -H -o output.lzo
我以前从未真正这样做过,也无法测试,所以我只是想知道如果旧磁盘停止工作,我是否能够将该映像写入新磁盘。
既然我已经问过了,我想知道我如何才能写入它。解压此映像是否会产生一个我可以写入的 ISO 文件wodim
,还是我需要其他方法?
答案1
首先,最简单的做法就是使用 dd。因此,请跳过压缩,直到您能够单独使用 dd 为止。
dd if=/dev/cdrom of=/path/to/good_name_of_cdrom.img bs=64k
然后您应该能够测试这个图像以确保它复制得很好。
mkdir /path/to/mount_point/
mount -o loop /path/to/good_name_of_cdrom.img /path/to/mount_point/
cd /path/to/mount_point/
cdrom 上的文件应该可以在 上找到/path/to/mount_point
。
答案2
经过进一步的研究,我发现使用dd
复制 CD 实际上是一种非常常见的做法。通常人们将输出定向到具有扩展名的文件.iso
,并将块大小设置为磁盘的块大小,但从技术上讲,我曾是创建 LZO 压缩的 ISO 文件。
现在我知道了这一点,我建议任何与我处于相同境地的人在问这个问题时使用这个命令行:
dd if=/dev/cdrom of=/path/to/image.iso bs=2048
创建 ISO 文件而不立即压缩它,可以先检查文件的完整性。在我最初的命令行中,我使用 LZO 压缩,因为我听说它比复制更快;我可能被误导了,因为读取器仍然以突发方式运行。无论哪种方式,我现在计划在第二步中进行压缩。
该bs
选项似乎主要是形式上的,但匹配介质的块大小(可以通过isoinfo
在设备上运行找到)通常是一种很好的做法。
如果磁盘损坏,部分内容无法读取,ddrescue
可以使用该程序代替dd
。无需任何额外选项,它应该比 恢复更多数据dd
。它还有更多高级选项,可以在更严重的情况中提供帮助,因此值得研究。
编辑:(ddrescue
或者可能只是 GNU 版本的 ddrescue)现在使用的命令行结构与我在此处编写的第一个源代码时不同,因此不能简单地将其替换为dd
。它更像是ddrescue -b 2048 /dev/cdrom /path/to/image.iso /path/to/log.log
来源:
http://www.linuxjournal.com/content/archiving-cds-iso-commandline