An ISO File is an image file/archive file of an optical disc such as CD/DVD. This image can be used to write disks. Many Linux distributions are distributed in bootable iso format to be burnt on the disk. The iso file itself is not of much use. But when burnt on a disk, the disk can be used to boot machines, or when extracted or mounted, it can be used for accessing its contents. Some PC games require the CD to be present in the drive. An iso file can be used in such case. It can be mounted on the filesystem as a loop device and then its contents can be accessed.
Mount ISO files in Linux
Unlike Windows, you don't need any virtual image mounting software such as ‘PowerISO’ / ‘Daemon Tools’ or ‘Alcohol’ to mount image files in Linux. Using 'mount' command in Linux, you can mount the iso file using these steps:
1. These steps may include root privileges. So if you are using Ubuntu, then you can precede each of these commands with 'sudo'. Otherwise, login as root user with 'su -'.
[email protected]:~$ su -
raghu-Inspiron-1440 ~ #
2. Create a mount point for the image to be mounted
# mkdir /media/iso
3. Use the mount command as follows to mount the image.
# mount -o loop -t iso9660 ubuntu-12.04.1-desktop-i386.iso /media/iso/
mount: warning: /media/iso/ seems to be mounted read-only.
Here, the loop option finds an unused loop device and mounts via that device. A loop device in Linux is a pseudo device that allows a file to be accessible as a block device.
4. You can check the mounted file by listing the mount point and by issuing 'mount' command
# ls /media/iso/
autorun.inf boot casper dists install isolinux md5sum.txt pics pool preseed README.diskdefines ubuntu wubi.exe
/dev/sda7 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
/dev/sda8 on /home type ext4 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfsd-fuse on /run/user/raghu/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=raghu)
/dev/sda2 on /media/raghu/Data type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/media/raghu/Data/Setups/nix/Linux_Flavours/Ubuntu_Variants/ubuntu-12.04.1-desktop-i386.iso on /media/iso type iso9660 (ro)
The last line in the above output of mount command lists our mounted file.