30

I have certain old CD/DVD's which are not in good condition. I want to recover from them anything that can be recovered. in windows you had software like Isobuster and Cd Recovery which will let me do this. Can anyone suggest a native linux app?

1
  • Have you tried physical treatment? CDs are interesting in that the covers can be treated to improve reading. Dec 2, 2010 at 6:16

3 Answers 3

28

For Ubuntu, try dvdisaster for data cd's and dvd's. Really good if you like graphical tools. It's tricky to use with commercial movie dvd's, though. You'll have to open the dvd in Totem once first to "authenticate" the drive. After that, it works well.

You also have ddrescue for the terminal.

I have used both, and they are good.

Once you have the file on your hard drive you can try "uncompressing" it, or mounting it. If it's too damaged, I resort to foremost or testdisk to get all possible files out of the dumped image of the disk. Here is a quick link: http://www.ubuntugeek.com/recover-deleted-files-with-foremostscalpel-in-ubuntu.html

Not sure about music cd's, though. Look for a cd-ripper that uses cdparanoia. I haven't needed to do that in a long time. A quick search shows abcde, ripperx, and more.

2
  • 1
    Any way to make links that open directly for installing the software from the repositories? :)
    – UrkoM
    Dec 2, 2010 at 7:36
  • 1
    <a href="http://apt.ubuntu.com/p/hello"><img src="http://bit.ly/software-large"> **hello**</a> There you are :) Dec 2, 2010 at 13:38
23

I suggest SafeCopy! It works properly (at least for me) and is very simple to install and use.

You may install it using sudo apt-get -install safecopy

I suggest you to use three pre-defined stages as follows (suppose that your CD/DVD device file is /dev/cdrom):

safecopy --stage1 /dev/cdrom /tmp/mycd.iso

The output of above commands will be something like this:

Low level device calls enabled mode: 2
Reported hw blocksize: 4096
DVD low level access: drive reset
Reported low level blocksize: 4096
Filesize not reported by stat(), trying seek().
File size: 895686656
Blocksize: 4096
Fault skip blocksize: 89567232
Resolution: 89567232
Min read attempts: 1
Head moves on read error: 0
Badblocks output: stage1.badblocks
Marker string: BaDbLoCk
Starting block: 0
Source: /dev/cdrom
Destination: /tmp/mycd.iso
......................................... [40961]    
................[58254](+238608384){X}[80121](+89567232)
.[80374](+1036288){X}[102241](+89567232)
.[102314](+299008){X}[124181](+89567232)
......................................... [165142]    
......................................... [207126]
..........._  :-) 100%
Done!
Recovered bad blocks: 0
Unrecoverable bad blocks (bytes): 3 (268701696)
Blocks (bytes) copied: 218673 (895686656)

If there was any error in the output (Unrecoverable bad blocks is not 0) you may run second stage by safecopy --stage2 /dev/cdrom /tmp/mycd.iso

The output will be something like this:

Low level device calls enabled mode: 2
Reported hw blocksize: 4096
DVD low level access: drive reset
Reported low level blocksize: 4096
Filesize not reported by stat(), trying seek().
File size: 895686656
Blocksize: 4096
Fault skip blocksize: 524288
Resolution: 4096
Min read attempts: 1
Head moves on read error: 0
Incremental mode file: stage1.badblocks
Incremental mode blocksize: 4096
Badblocks output: stage2.badblocks
Starting block: 0
Source: /dev/cdrom
Destination: /tmp/mycd.iso
Current destination size: 895686656
......................................... [99468]    
........................_  :-| 100%
Done!
Recovered bad blocks: 0
Unrecoverable bad blocks (bytes): 0 (0)
Blocks (bytes) copied: 218673 (895686656)

If there was any error in the output of second stage (Unrecoverable bad blocks is not 0) you may run third stage by safecopy --stage3 /dev/cdrom /tmp/mycd.iso

For more information, please read SafeCopy Man Page.

3
  • 1
    Safecopy was great and super simple to use, even in CLI. Thanks! Dec 27, 2018 at 18:34
  • It works great :) Nov 15, 2020 at 12:26
  • This worked great for me on 18.04 to deal with a damaged(?) DVD I got from the library. although for some reason (copy protection?) I had to open the disk with VLC first (nothing else I tried would mount it for me)
    – Elder Geek
    Jul 26, 2023 at 15:20
5

The other answers concentrate on software; I'll add another "layer" to this.

The fact that the disc (CD or DVD) is physically damaged is likely to impose a limitation on the possible results of the software approach.

I still do recommend to try them FIRST as what follows below might destroy your data entirely if you're too rough with it.

A process to reduce scratches; what tools, chemicals and gadgets to use:

Initial advice: read through and practice first, then do the real thing.

  1. Wettex wiping sponge cloth or similar. Make it be damp, then place it on top of a steady surface
  2. Place your disc with the recording surface up on top of 1.
  3. Find any type of Rubbing compound and place fairly large drops of it on top of the disc surface
  4. Use any combination of tools to work on surface similar to how "Buffing" is done on car paint.

Take it in easy steps, clean the disc after some work and try to read it - eventually, using easy steps of the above, you will get more data out than initially.

NOTE: This will not work for discs that has cracks through the optical layers or in the recording substrate. There is no magic in this. You are making the top surface more even, removing scratches as you go.

Tried out in practice on DVD+R discs

1
  • 3
    Good idea! By the way, practicing a scratched unneeded disc/bit of plastic may be a good idea as if it goes wrong the data may be completely lost
    – Wilf
    Oct 4, 2015 at 15:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .