How do I make an ISO from a disc?

I have a disc here, and I need to take an ISO image of the disc. Is there a piece of software I can use to get the image from the disc, or does Ubuntu ship with one?


Solution 1:

Use Brasero Disc Burner:

Install via the software center

Or via the terminal, run the following command.

sudo apt-get install brasero

To copy a disc to an ISO image, click on Disc copy, then choose Image File as the destination.

Solution 2:

While Brasero is probably easier, if you're interested, here's how to create an iso from the command line using mkisofs:

genisoimage -r -J -o cd_image.iso /directory

The -r and -J tags allow for long filenames. -o stands for output, followed by the output file and directory. Afterwards, you can mount the image using mount, or burn with wodim.

The Community Help Wiki for Ubuntu is a fantastic resource. Take a look at the link for more details.

Solution 3:

Graphical apps such ad Brasero or K3b should work fine for creating an iso from a disk, but there are actually several ways of doing it. I have always used the slightly more complicated, but for my old hardware, more reliable, way that uses dd/if. If you are confident doing it this way (or old fashioned), it has always worked for me:

  • First place the disk in your drive and get the block and volume size with

    isoinfo -d -i /dev/sr1 
    

or whatever the /dev node is for your target drive.

  • Next run the following, replacing the /dev node with your own and place the block and volume numbers gained from isoinfo where <isoinfo result> occurs below:

    dd if=/dev/sr1 bs=<isoinfo result> count=<isoinfo result> of=/home/mike/Folder/thegreat.iso 
    

    (Some example values reported by isoinfo for a physical disk are: "Logical block size is: 2048, Volume size is: 309669". So, in the dd/if commands above, bs would be 2048 and count would be 309669. Do not use these values, however, use the ones isoinfo gives for your own disk.)

    Also make sure you use the correct /dev node of your cd/dvd drive, eg. usually /dev/sr0, /dev/sr1.

Even though most people use graphical apps, I found that the dd/if method worked more reliably than brasero for me.


I have prepared a script for making an iso from a disc.

As I use positional parameters in the script, you must specify the device ($1) and the iso to be created ($2),

As an example, if it is not in your ~/bin, you could call it with:

./script_name.sh /dev/sr0 /home/$USER/new.iso

The contents of the script; make it executable with chmod u+x after creating it.

#!/bin/bash

# $1 and $2 are specified on the command line when the script is called; $1 must be /dev/sr0 or whatever is the drive; $2 is the location and name of iso to be created

val1="$(isoinfo -d -i "$1" | grep -i "block size" | awk -F ': ' '{print $2}')"
val2="$(isoinfo -d -i "$1" | grep -i "volume size" | awk -F ': ' '{print $2}')"

dd if="$1" bs="$val1" count="$val2" of="$2"

exit 0

Solution 4:

Default burner app in ubuntu Brasero can do that. It is shipped with ubuntu.

Choose Copy CD/DVD option. In properties you choose the type (.iso)