[clug] Recovering old CD-Rs

Scott Ferguson scott.ferguson.clug at gmail.com
Wed Feb 18 20:22:57 MST 2015

On 19/02/15 11:39, Simon Oxwell wrote:
> Hi Scott,
> Thanks for you lengthly reply.

No worries - I'm lazy so I try and cover all variations of a question
for search engine users.

> On 18 February 2015 at 22:58, Scott Ferguson
> <scott.ferguson.clug at gmail.com <mailto:scott.ferguson.clug at gmail.com>>
> wrote:
>     On 18/02/15 12:38, Simon Oxwell wrote:
>     You don't say what the discs are formatted as.
> Ah, I think they're just plain old data discs - so iso9660 based,
> probably with either Rockridge or Jolliet extensions. Other than that
> not sure - cdrom drive isn't even recognising the discs as being valid
> media.

Try a number of different disc readers. I've found in general DVD
burners tend to read better - with the exception of Sun SCSI CD
cartridge readers which even 20 years past their use-by date are more
reliable than new devices.

dd if=/dev/sr0 bs=2048k count=1 | file -
isoinfo -d -i /dev/sr0

will give you more information about the CD format.

>     There are three types of problems you're maybe experiencing:-
>     1. scratched/dirty discs
>     2. sunlight damage
>     3. laser read/write is out of alignment
> I think they're more likely heat damaged - they've sat in cases in a cd
> rack in a box in a storage unit for way too long. They don't appear
> scratched or dirty.

They "fade" over time - exacerbated by oxygen and heat. Turns out the
car dashboard isn't a digital archive rack. The dye fades, the backing
becomes transparent and the acrylic becomes opaque. Fortunately the
latter affects the surface first so Brasso and a "bit of a rub" on a
sheet of heavy flat glass usually helps. The first two problems can be
somewhat compensated for with black marker pen and a good, slow, disc

> Hmm. How do you override the cdrom's native speed in Linux?

To find maximum supported speed:-
eject -X /dev/sr0

$ eject -X /dev/sr0

To set speed:-
eject -x 1 /dev/sr0

eject -x <speed> <device>
eject -X <device>

NOTES: eject will try default devices - if it fails, supply it with the
correct device; a speed of "0" is maximum; speed settings only apply for
that disc. For permanent speed control see hdparm.

Ref: man eject

> The issue is the discs that don't seem to get recognised at all.

Trying different drives is the only way I've been able to solve that
problem *unless* a "bit of a rub" fixed things.

>     3f. unfortunately I can't remember the name of an application I used in
>     the past which generates a list of unreadable sectors for a disc (though
>     I've likely got a copy in my archives). It then uses that list to try
>     and read those sectors on another drive. Rinse and repeat until it gets
>     all the sectors.
>     Anyone know the application??
> Sounds a lot like GNU ddrescue to me ;)

Seemed to work a little better (where all else had failed). It was a
Windows program running in WINE.

> Seriously nifty - does a quick read, generates the list of bad sectors,
> then can be configured to come back a retry the bad blocks, which it
> uses a bisection method on to get as much data on as possible. Or you
> can use a different drive, or an identical copy (who actually does
> that?) to try and read the missing data from.

It's definitely good.

> Cheers,
> Simon

Kind regards

More information about the linux mailing list