Recovering Files from a Corrupt CD/DVD

40,968

Solution 1

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.

Solution 2

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.

Solution 3

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

Share:
40,968

Related videos on Youtube

jsruok
Author by

jsruok

Working as an undergraduate trainer.

Updated on September 17, 2022

Comments

  • jsruok
    jsruok over 1 year

    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?

    • Martin Owens -doctormo-
      Martin Owens -doctormo- over 13 years
      Have you tried physical treatment? CDs are interesting in that the covers can be treated to improve reading.
  • Nicholas Jordan
    Nicholas Jordan over 13 years
    Any way to make links that open directly for installing the software from the repositories? :)
  • flo
    flo over 13 years
    <a href="http://apt.ubuntu.com/p/hello"><img src="http://bit.ly/software-large"> **hello**</a> There you are :)
  • Wilf
    Wilf over 8 years
    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
  • Baptiste Candellier
    Baptiste Candellier over 5 years
    Safecopy was great and super simple to use, even in CLI. Thanks!
  • Shamshirsaz.Navid
    Shamshirsaz.Navid over 3 years
    It works great :)