ddrescue 救援藍光光碟

自從 DR 在去年將二號機的資料碟也更換為 SSD 後,開始接受將藍光光碟備份一份複本的作法。於是便使用 MakeMKV,陸續將手上的藍光媒體皆備份到磁碟裡。前面幾片都相當順利,直到一路操作到 DR 入手的第一片藍光、也就是 2014 年的《哥吉拉》(Godzilla)時,卻出現了光碟部份資料始終讀取失敗,以致無法完成備份的情形。

 

若嘗試單純使用 dd 將光碟複製為映像檔,也會在執行過程中出現錯誤而失敗,且 dmesg 內也會有 I/O 錯誤的記錄。看起來這片光碟似乎沒解了,只是轉念一想,既然都用到 dd 了,為什麼不乾脆用 ddrescue 救援看看呢?平常 DR 算蠻常使用 ddrescue 的,不僅是用於磁碟資料救援,即便是正常磁碟的對拷需求,DR 也習慣使用 ddrescue 來做複製。不過在此之前,DR 還未曾使用 ddrescue 來做光碟救援。

 

於是便嘗試執行諸如以下指令:

  • ddrescue -vv -r 3 /dev/sr0 rescue.iso recovery.log

 

前述指令表示光碟機位置為 /dev/sr0,輸出的映像檔為 rescue.iso,記錄檔為 rescovery.log,以及重試次數為 3。實際重試的次數其實遠多於三次,因為 DR 還反覆執行了很多次。只要每次執行皆沿用同一支記錄檔,就不會有進度重來的問題。

 

跑了幾天後,根據 ddrescue 所顯示的狀態,大小約 40GB 左右的藍光光碟,最後只剩下約 30MB 未能救援出來。後來索性再增加重試次數,並嘗試使用直接存取模式(direct disc access)試試看,則修改後的指令如下:

  • ddrescue -vv -r 120 -d -b 2048 /dev/sr0 rescue.iso recovery.log

 

然後就斷斷續續跑了約三個多月……原先讀取失敗的 30MB 區塊,最後僅剩下不到 1MB 是沒救援出來的。然而不幸地後續就沒有什麼進展了,DR 也就決定就這麼打住。儘管從結果來看,這不是一個成功的案例;不過就過程而言,則顯示利用 ddrescue 來救援光碟資料是可以嘗試的。雖然在某些情境來說,直接再買一張藍光可能是最快的……

 

分類: