How to: Mount an ISO image under Linux

Posted on in Categories Debian Linux, File system, Howto, Linux, RedHat/Fedora Linux, Suse Linux, Sys admin, Tips, Ubuntu Linux last updated March 29, 2004

An ISO image is an archive file (disk image) of an optical disc using a conventional ISO (International Organization for Standardization) format. ISO image files typically have a file extension of .ISO. The name “ISO” is taken from the ISO 9660 file system used with CD-ROM media, but an ISO image can also contain UDF file system because UDF is backward-compatible to ISO 9660.

You can mount an ISO images via the loop device under Linux. It is possible to specify transfer functions (for encryption/decryption or other purposes) using loop device.

But, how do you mount an ISO image under Linux? You need to use mount command as follows:

Procedure to mount ISO images under Linux

1) You must login as a root user, if not root user then switch to root user using following command:
$ su -

2) Create the directory i.e. mount point:
# mkdir -p /mnt/disk

3) Use mount command as follows to mount iso file called disk1.iso:
# mount -o loop disk1.iso /mnt/disk

4) Change directory to list files stored inside an ISO image:
# cd /mnt/disk
# ls -l

More about loop device

A loop device is a pseudo-device that makes a file accessible as a block device. Loop devices are often used for CD ISO images and floppy disc images. Mounting a file containing a filesystem via such a loop mount makes the files within that filesystem accessible. They appear in the mount point directory using above commands.

See also:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

68 comment

  1. Quick comment:
    You need the kernel module loop for it; people that get the error about it in mount should get the latest copy of the linux source and proceed to compile the correct module which is under block devices
    Other than that it works 😉

  2. Thanks! This was very very easy to find and follow. I’m new to linux and this is the reason I made the swicth, the help that everyone give make learning linux easy and fun. Thank you for your time, thank you!

  3. richard, to edit bootable ISO mount it as it’s described here, copy it’s contents to some directory, edit files you need and generate new ISO by command:

    sudo mkisofs -o /tmp/new.iso -b isolinux/isolinux.bin -c isolinux/ -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V “new iso name” .


    read this

  4. Works like a charm. It kept me from Burning a DVD for a computer that didn’t read DVDs. I did a Net Install of Linux over FTP. I copied the File to a Linux FTP Server, mounted the ISO and did an install. Sweet.

  5. the .img .iso and .nrg images can mounted directly, only change the options for loop and offest..

    the other types (.b5i , .daa , .cdd , .cue , .bin , .xbo , .mdf , .cda , .pdi ) can mounting by the cdemu/cdemuserspace module for linux kernels, here all packages for debian users:

    other method is coverting the image to native iso image and then mounting normaly..

    in the McKAY blog are all convertion utilitys for al image types, including .daa (poweriso) and pdi (instancopy)

  6. @hedron: You need root access to mount any device, unless it is listed in /etc/fstab and has the option “user”. That also answer your question: Set up a filename convention for the iso image (/home/user/mountme.iso) and the directory where to mount it (/home/user/mountmehere), add an appropriate line to /etc/fstab, don’t forget the option to allow ordinary users to mount the pseudo device, and you’re done.

  7. root acces is not necesary, u must added u’r username to cdrom’s group, user’s group and disk’s group for mounting access command

    the tool to manage virtual devices as iso images is CDemu compilation and has two brands, old and new..

    old is called “cdemu” and only it for kernels 2.4, 2.6.8 and 2.6.17 to 2.6.20

    new last is renamed to cdemu-userspace, and it for new recents kernels 2.6.22 and above..

    for more info see cd convertion tools and McKAY debian iso tools

  8. Hey all,

    Wondering if you can help me on this one. I am pretty new to linux and playonlinux but i am having trouble with this iso file. I am using mandriva spring 2009 and i have KDE version 3.5. I am using wine version 1.1.4. I have downloaded rollercoaster tycoon 2 as an iso file and it won’t let me mount the file. I can create a directory but as soon as i go to mount the iso file i get the following message:

    Can’t find rollercoastertycoon2.iso/mnt/iso in /etc/fstab or /etc/mtab.

    This is probably something stupid that i am missing cause for some odd reason mandriva likes to go round the world for a shortcut. If anyone can help me on this it would be well appreciated cause i am a fast learner and once i am successful the first time i will beable to do this no problem time after time again.

    Thanks for all the help i receive

  9. I tried
    mount -t iso9660 -o loop disk1.iso /mnt/disk
    but it doesn’t work for .mdf/.mdf files tells me is a wrong fs type or bad option. Is there another way to mount alcohol images in linux or will I just have to convert it?

  10. Hi all. I am fairly new to linux, but I need create an ISO from files that are already on my hdd. I’ve searched and to no avail, i’ve not been able to find any info on making an ISO from files that aren’t on CD/DVD. Any help with this would be greatly appreciated. Thanks so much.

  11. Thanks Vivek. This got me thinking… Is it possible to “take a snapshot” of drive with the system installed and make a bootable CD with the image? Possibly it becoming a system recovery?

  12. # mount -t iso9660 -o loop,ro /xx/xx.iso /mnt/iso
    mount: wrong fs type, bad option, bad superblock on /dev/loop0,
    missing codepage or helper program, or other error
    In some cases useful info is found in syslog – try
    dmesg | tail or so

  13. Same as soul. Trying to mount Diablo 2 LoD disk. It may be the secureROM and etc securities on the image but I doubt it. Xubuntu Karamic (9.10) using XFCE Terminal 0.4.2. Driving me nuts. Next step gui f**k it : )

  14. hai,

    After extracting the .iso image, i cant able to change the permission of that extracted files.not even to change the ownership.Any help with this would be greatly appreciated. Thanks so much.

  15. Hi,
    If someone needs to mount iso file through /etc/fstab permanently following entry can be done –
    /CentOS-6.3-x86_64-bin-DVD1.iso /mnt/os iso9660 loop 0 0
    Note- please note that I have iso file on / and mounted on /mnt/os please change these things accordingly.


  16. You can use below command reference to get Or mount CD/DVD-ROM on LINUX-OS :
    1.) If you know / ensure about your CD/DVD-ROM Drive ( e.g. /dev/hdx )
    # df -h
    # mount -t iso9660 -o loop /dev/hdc /mnt
    # df -h
    2.) otherwise, use below reference :
    # df -h
    # mount -t iso9660 -o loop,ro /xx/xx.iso /mnt/
    # df -h
    John Kall

  17. Not even the Parallels support team could help me with this one, they tried to sell me on getting upgraded to 9.

    As you suggested, installed 9 -> extracted the .iso. -> reinstalled 8 -> mounted the .iso -> and installed

    But for all of you to reduce the headache Here is a link to download the .ISO folks,
    Mount, enjoy!

  18. I have installed rhel6 in vmware vsphere and it has only CUI
    mount -o loop RHEL6_X86_64.iso /mnt /disk/
    RHEL6_X86_64.iso : No such file or Directory
    Can u help me out with this?

  19. ———- Above for Linux only, now for some BSD’s ———-
    su -l root
    mkdir /mydir
    vnconfig vnd0 cdimage.iso
    mount -t cd9660 -o ro /dev/vnd0a /mydir
    ls -la /mydir
    umount /mydir
    vnconfig -u vnd0
    -t : image type: can be any image: cdrom, msdos, ext2..
    -o: options: [ ro: read only, rw: read/write ]
    sometimes man command is more useful than incomplete/bugy examples from unknown sources:
    man mount
    man vnconfig
    man ls
    man man

Leave a Comment