Ripping Data from Optical Media

From ISTP Computing
Jump to navigation Jump to search

Overtime, optical media (i.e. CD-ROMS, DVDs, Blue ray media) degrades due to chemical reactions, exposure to dust or scratches from wear and tear. Furthermore, as less computers are coming installed with a drive for reading optical media, there is a growing need to convert the data on existing optical media to a digital format. If the data contained on the optical media are photos or word documents, the files can be individually copied to your computer, as though, it were a USB flash drive. However, in most cases, this route is not possible. Alternatively, the CD must be cloned to an image (ISO) file and stored on the computer. It can then be mounted in a virtual disk emulator.


On Ubuntu, there are two ways to create an ISO image file of an optical media: (a) a bit-by-bit image of the disk, or (b) A clone of the CD's used contents using third party software such as Brasero. If Ubuntu is not installed on your system, then you can boot into a live environment of Ubuntu using a USB flash drive. After setting up this environment, proceed with the following steps.

Option A: Bit-By-Bit Image

In cases of data recovery, or where all of the sectors are required (e.g. for Game CDs), a bit-by-bit image is required. In Ubuntu, a command line utility, ddrescue, can be used to copy each block from the optical disk. The advantage of this approach is that the process can be interrupted and resumed later. Sometimes, the disk becomes unreadable as it gets hot due to wear and tear. Sometimes, letting the disk cool, can allow it to read more easily. Sometimes, reading it in a different optical drive can also result in success. The GNU DDRescue utility supports these approaches.

Ideally, you should switch to single user mode to prevent the optical disk from auto-mounting when inserted. To do this, press Ctrl+Alt+F1. Then, when prompted, login to the console using your own username and password for the system. To return to normal mode, press Ctrl+Alt+F7. If this doesn't work, try Ctrl+Alt+F1 and repeat the process with each function (FX) key until the desktop appears again.

1) Install gddrescue from the terminal prompt:

sudo apt-get install gddrescue

2) Change to the directory where you want to store the created disk image. The Downloads folder can sometimes be a good choice:

cd ~/Downloads

3) Create a new folder, ideally with the name or description of the disk you are copying:

mkdir myCD

4) Change into the directory (or folder):

cd myCD

5) Insert your optical disk into your optical (CD) drive, close the tray and wait 5-15 seconds for the disk to initialize.

6) Start copying the data using the ddrescue command:

sudo ddrescue /dev/sr0 myCD.iso myCD.log 

Here, you should change myCD to the name or description of your disk.

7) Wait patiently for the process to finish. In some cases, it can take hours.

If the disk seems to not be reading, you can abort ddrescue process by pressing Ctrl+C. After a minute or so, ddrescue will stop running. Now, you can simply run the command again to restart copying. The log/map file stores the data already copied so ddrescue will intelligently resuming from the place where it was interrupted. You can even copy the files onto a USB and try it on another computer. Sometimes, differences in optical drives can result in success. If the surface is heavily scratched, the disk may not be readable. Sometimes smearing warm water and toothpaste in a circular motion over the damaged surface can result in success. If the disk is worn from wear and tear, then the next option is to let it cool for a while before attempting to re-read the disk. Because ddrescue focuses on the data not yet copied, it can result in success. Most other data cloning utilities will fail if any part of the disk is unreadable. With ddrescue, however, it is possible to start the application again. The advanced features of ddrescue also allow it to resume from another, undamaged point. Sometimes, parts of the data may not be retrievable due to irreversible damage. Despite this, the actual data may be unharmed.

Option B: Clone of CD's contents

Brasero, a CD/DVD burning software suite for GNU/Linux, can be create disk images of DVDs and CDs by cloning only the contents. This method may work more effectively for scratched or damaged optical media, since it does not read the data at such a low level compared to dd and similar tools. Brasero only copies the capacity of the files occupying the CD and so, the resulting image is much smaller compared to using the ddrescue method.