An audio CD doesn't contain a filesystem at all. The format is defined as a particular stream of bits directly representing sounds. This is unlike DVDs, where a video DVD is a DVD with a UDF filesystem with a particular structure.
The classical CD burning suite, cdrecord, includes cdda2wav
to rip an audio CD to a WAV file, and cdrecord -audio
to burn a WAV file to an audio CD. Another tool for CD ripping is cdparanoia; it tries very hard to be as faithful as possible to the audio data. Many CD burning GUIs have a button or menu entry to rip, burn or copy audio CDs.
ddrescue
You can try ddrescue. I read recommendation for it, but I do not have experience.
There are two programs called ddrescue (see https://askubuntu.com/questions/211578/whats-the-difference-between-ddrescue-gddrescue-and-dd-rescue). Gnu ddrescue is the newer one and designed to overcome some of the problems in the older ddrescue.
Gnu ddrescue uses a map file and is able to write many times to the same output file without doing the same work again or overwrite previous successful reads. It will instead try to fill in the holes by looking at the map file to find out which sectors to try to read again.
The suggested usage for DVDs (from the Gnu ddrescue manual) is:
ddrescue -n -b2048 /dev/cdrom cdimage mapfile
ddrescue -d -r1 -b2048 /dev/cdrom cdimage mapfile
The first line will extract the easily readable data from the DVD. Second line will use direct disc access to try to read more and write it to the same output file.
k3b
I have good personnal experience with K3b, with proper settings:
k3b --copy <device>
You get a large window, and a small copying window. Ignore the large one. You must click advanced setting in the small one. Then you click on "ignore reading errors" so that it will not stop at the first error.
You also fix the number of reading attempts to a fairly low value since repeats can sometimes take a long time. I often set it at 1 on my first attempt, just to check how many sectors give me trouble.
If you click on options you can choose to only produce an ISO image on disk. And after clicking on image you can choose where to save it.
Very often, a few missing sectors will not even be noticeable (even a few hundreds). But it all depends on where they are. K3b will tell you which sectors cannot be read.
Best Answer
cdparanoia started as a patch on a cdda2wav from 1997 and never updated the cdda2wav code. Since 2002, there is no visible activity on the project.
cdrdao was a similar short running project, founded in 1998 and no new features since at least 2004. There was never special support for bad media.
cdda2wav started in 1993 and is still actively maintained. In 2002, the "lib paranoia" was taken, made portable and enhanced over the years. Libparanoia is integrated into the maintained cdda2wav since 2002.
I recommend to use:
and to check the statistical reports for each extracted track.
BTW: if your drive supports reading C2 pointers, use:
this does a lot more than the latest cdparanoia version did. Please read the man page to understand the error reports from libparanoia.
Note: due to a bug in cdparanoia, there are situations, where the error reports from cdparanoia miss problems that are reported by cdda2wav, so do not believe cdparanoia was more successful than cdda2wav just because it reports less problems.