Luc*_*iva 3 backup data-recovery dd ddrescue compact-disc
我有一张多会话 CD,我想将其内容复制到硬盘上。该 CD 已有大约 20 年的历史,并且有几个部分出现了读取问题,因此它是ddrescue.
问题是,ddrescue除了 CD 中的第一个会话之外,它似乎无法识别任何会话,就像dd它一样。它的文档甚至没有提到多会话 CD,并且互联网上似乎没有太多关于如何执行此操作的信息。
ddrescue所以问题是:如何使用或任何类似的工具来挽救多会话 CD ?
恐怕您在评论中提到了不幸的答案:ddrescue不知道如何处理个别会话。我怀疑这是 Linux 内核 CD-ROM 接口的故意选择:它只显示它认为相关的任何会话。为了绕过这个问题,我相信cdrdao做了一些特殊的事情,使该工具可以访问各个会话(例如使用--session)标志。
在我的测试中,以下生成一个大的二进制文件 ( .bin) 和一个.toc描述磁盘的目录 ( ) 文件:
cdrdao read-cd --read-raw --datafile data.bin data.toc
Run Code Online (Sandbox Code Playgroud)
它不会重试或检查任何内容,因此这并不是一种救援。但它也许能够挽救混合模式 CD-ROM 并解决单个会话问题。如果上述方法没有找到所有会话(您可以使用 检查有多少会话存在cdrdao disk-info),您可以使用以下命令提取单个会话:
for session in 1 2 3 [...] ; do
cdrdao read-cd --read-raw --session $session --datafile data-$session.bin data-$session.toc
done
Run Code Online (Sandbox Code Playgroud)
需要使用bchunk将文件.bin转换为显示为文件:ISO
bchunk data.bin data.toc data
Run Code Online (Sandbox Code Playgroud)
如果一切顺利,这应该会data.iso为磁盘的相关部分创建一个。data.ugh如果转换失败,它也可能会创建一个文件,不幸的是我不知道如何处理这种情况。