如何拯救多區段 CD?

如何拯救多區段 CD?

我有一張多會話 CD,我想將其內容複製到硬碟上。該 CD 已有大約 20 年的歷史,並且有幾個部分出現了讀取問題,因此它是ddrescue.

問題是,ddrescue除了 CD 中的第一個會話之外,它似乎無法識別任何會話,就像dd它一樣。它的文檔甚至沒有提到多會話 CD,而且互聯網上似乎沒有太多關於如何執行此操作的資訊。

所以問題是:如何使用ddrescue或任何類似的工具來挽救多會話 CD?

答案1

恐怕您在評論中提到了不幸的答案:ddrescue不知道如何處理個別會話。我懷疑這是 Linux 核心 CD-ROM 介面的故意選擇:它只顯示它認為相關的任何會話。為了繞過這個問題,我相信cdrdao做了一些特殊的事情,使該工具可以存取各個會話(例如使用--session)標誌。

在我的測試中,以下產生一個大的二進位檔案 ( ) 和一個描述磁碟.bin的目錄 ( ) 檔案:.toc

cdrdao read-cd --read-raw --datafile data.bin data.toc

它不會重試或檢查任何內容,因此這並不是一種救援。但它也許能夠挽救混合模式 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

文件.bin需要轉換為顯示為ISO文件,使用塊塊:

bchunk data.bin data.toc data

如果一切順利,這應該會data.iso為磁碟的相關部分建立一個。如果轉換失敗,它也可能會創建一個data.ugh文件,不幸的是我不知道如何處理這種情況。

相關內容