How to mount an ISO image/file under Linux

How do you mount ISO file on Linux using the CLI and GUI app? First, try to understand an ISO image. It 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” comes from the ISO 9660 file system used with CD-ROM or DVD media, but an ISO image can also contain UDF file system because UDF is backward-compatible to ISO 9660. You can mount an ISO file or images via the loop device under Linux. It is possible to specify transfer functions (for encryption/decryption or other purposes) using loop device. This page explains how to mount ISO files on Linux.

ADVERTISEMENTS

How to Mount ISO File on Linux

  1. Create the mount point directory on Linux: sudo mkdir /mnt/iso
  2. Mount the ISO file on Linux: sudo mount -o loop /path/to/my-iso-image.iso /mnt/iso
  3. Verify it, run: mount OR df -H OR ls -l /mnt/iso/
  4. Unmount the ISO file using: sudo umount /mnt/iso/

More about loop devices on Linux

From the man page:

The loop device is a block device that maps its data blocks not to a physical device such as a hard disk or optical disk drive, but to the blocks of a regular file in a filesystem or to another block device. This can be useful for example to provide a block device for a filesystem image stored in a file, so that it can be mounted with the mount command.

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 following Linux commands. So, how do you mount an ISO image file under Linux? You need to use the mount commandas follows:

Let us see all commands and examples in details.

Procedure to mount ISO file/images under Linux

First, you must login as a root user, if not root user then switch to root user using the su command:
$ su -
One can use the sudo command:
$ sudo -i
Next, create the directory i.e. mount point using the mkdir command, run:
# mkdir -p /mnt/disk
Finally, use the mount command as follows to mount iso file called disk1.iso:
# mount -o loop disk1.iso /mnt/disk
OR
# mount -o loop /path/to/disk1.iso /mnt/disk
Verify it with the df command or mount command:
# df -H
# mount
# ls -l /mnt/disk/

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

To copy files using the cp command:
$ cp file1 file2 /home/vivek/Downloads

How to mount an ISO file or image in Linux

Mounting ISO files on Linux using mount command

How do I unmount the ISO image on Linux?

Use the following command to unmount the ISO file/image on Linux:
$ sudo umount /mnt/disk/
OR
$ sudo umount /path/to/disk1.iso
Verify it:
$ df -H
$ mount
$ ls -l /mnt/disk/

How to mount an ISO file using a GUI app on Linux

Not a fan of the CLI? Try image management utility called furiusisomount:

Furius ISO Mount is a simple application for mounting ISO, IMG, BIN, MDF and NG image files even without burning them to disk. It provides the following features:
1. Automatically Mounts ISO, IMG, BIN, MDF and NRG image files.
2. Creates a mount point in your home directory.
3. Unmounts the Image files and mnd more.

How to install furiusisomount app

Type the following apt-get command/apt command on a Debian/Ubuntu/Mint Linux:
$ sudo apt install furiusisomount
Start furiusisomount:
$ furiusisomount &
Sample outputs:

Mount an ISO file on Linux using Furius ISO Mount GUI app

Mount an ISO file on Linux using Furius ISO Mount GUI app

Just select an ISO image an click on the mount button. Open your file browser:

View mounted iso image in Ubuntu Linux file manager

View mounted iso image in Ubuntu Linux file manager

Mounting ISO Files using Linux Gnome or KDE GUI

One can use the Files file manager app to browse and organize the files on your computer. You can also use it to manage files on storage devices (like external hard disks, iso images), on file servers, and on network shares. Open files where your .iso file is stored on the system:
Open files
Select the .iso image > Right click > choose Open With Disk Image Mounter option:
Open ISO With Disk Image Mounter
A device icon should appear in the left pane in Files itself and click on it to see files:
Browse mounted iso image in Files running on Linux Gnome or KDE desktop
To unmount the iso file right click on the device icon in Files (left pane), Right Click and select “Unmount” option:
GUI Files unmount disk iso image

Conclusion

You learned how to use the mount, unmount command and GUI apps for mounting the ISO9660 images or files. For more information see:

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
68 comments… add one
  • Mills Sep 15, 2004 @ 20:13

    Cheers, worked like a charm 🙂

  • Anonymous Apr 27, 2005 @ 21:48

    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 😉

  • sshawnn Nov 5, 2006 @ 3:24

    Just what i needed, mahalo!

  • Hashim Jan 10, 2007 @ 20:52

    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!

  • ORB Apr 18, 2007 @ 13:00

    sweet! worked cleanly, no stupid paid software for windows needed to do such a simple task!

  • richard Jul 7, 2007 @ 20:20

    Looks like we cant mount it for RW. Bloody well then.

    • Gary Aug 16, 2010 @ 15:19

      You’d have to finalize the RW disc so that it becomes an iso image. You can still erase the disc later.

      • hkgo78 Sep 29, 2011 @ 19:38

        I think he means mounting the iso file for reading and writing.

  • Reggie Jul 19, 2007 @ 16:13

    This tip was a great help! I only need to read the iso for installations so thanks a heap!

  • kvz Aug 2, 2007 @ 11:32
  • artiomix Aug 2, 2007 @ 22:10

    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/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V “new iso name” .

    or

    read this

  • Raul Trujillo Jan 30, 2008 @ 16:50

    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.

  • hedron Feb 4, 2008 @ 3:18

    But what if I don’t have root? Or am too lazy to su or sudo?

    • me Feb 8, 2015 @ 19:26

      You won’t get far in life, lol

  • PICCORO Apr 30, 2008 @ 14:27

    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:

    qgqlochekone.blogspot.com/2008/04/iso-linux-debian-venenux-tools.html

    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)

  • PICCORO Apr 30, 2008 @ 14:31

    also:

    u dont need su or sudo for mounting, that is stupid..

    only added user to cdrom and disk groups an mount groups, and now user can mounting without any su or sudo permissions..

    McKAY’s isos tools and converters for VENENUX/debian

  • Guido Flohr May 2, 2008 @ 17:18

    @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.

  • linuxuser May 9, 2008 @ 8:45

    SALAM
    Thanks alot

  • Knusper May 15, 2008 @ 18:17

    Wonderfull! Works!

  • PICCORO Jun 3, 2008 @ 14:24

    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

  • poysan Jun 19, 2008 @ 5:29

    Um, what if it comes back asking for a fs type? RH50ES states “you must specify the filesystem type”.

  • 🐧 nixCraft Jun 19, 2008 @ 5:37

    iso9660 used for ISO images, try
    mount -t iso9660 -o loop disk1.iso /mnt/disk

  • himadri Jun 27, 2008 @ 15:57

    hey vivek , great allround effort this .. I have feeds from your site and follow your site religiously ..

  • Mike Jul 10, 2008 @ 14:03

    FYI, I have seen “disk1.iso: Permission denied” errors. This can be corrected by adding a ro flag.

    mount -t iso9660 -o loop,ro disk1.iso /mnt/disk

  • Gn0m3r.X Oct 12, 2008 @ 12:08

    The right way of doing this is
    $>modprobe loop
    $>mount -t iso9660 -o loop disk1.iso /mnt/disk
    Coz in the new kernels loop is compiled as a module

  • mian Oct 31, 2008 @ 5:27

    Dear ,

    r u sure dat it’ll work.

    mail me @ usama.comsys@gmail.com

    I need support regarding ISO images of servers @ Freebsd6.2

  • Gn0m3r.X Nov 7, 2008 @ 16:32

    Sorry I forgot to mention that u need to ‘modprobe’ only if u get this error
    mount: could not find any device /dev/loop#

  • Miladin Dec 18, 2008 @ 17:23

    Thanks, it worked perfectly 🙂

  • Jim Feb 12, 2009 @ 23:06

    Top of the google results! Thanks for the help.

  • Gary Feb 15, 2009 @ 15:36

    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

  • LeiMai Mar 19, 2009 @ 23:55

    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?

  • andrae Mar 31, 2009 @ 17:42

    you’re the best :-))

  • sahil May 2, 2009 @ 12:49

    you may use acetoneiso for gui…..

  • kalyani May 14, 2009 @ 9:53

    thanks a lot……….its awesome!!

  • Dokjae Jun 20, 2009 @ 23:44

    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.

  • Dokjae Jun 21, 2009 @ 2:45

    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?

    • 🐧 nixCraft Jun 21, 2009 @ 2:54

      Yes, you can create full recovery tape or dvd with help of dump and restore command.

  • yogesh Jul 18, 2009 @ 10:10

    i have an iso image of rhel 5.1 dvd pls let me know how to burn it to dvd on command line.

  • john Aug 6, 2009 @ 21:11

    works great assuming you watch your upper and lower case on the iso name, ha ha

    thanks

  • Rico Oct 21, 2009 @ 23:08

    Very nice, and simple, how-to. Not much of a Linux guy and this was easy enough I was able to get it the first time I tried.

    Any chance you could tell me how to unmount it now?

  • soul Nov 15, 2009 @ 14:41

    # 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
    flyby

  • Simply Laz Nov 17, 2009 @ 23:24

    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 : )

  • soul.. Nov 20, 2009 @ 11:59

    about my previous mesage and error i tryed many other issos, so i think i got bad iso(damaged or something…)

  • krow king Jan 3, 2010 @ 11:16

    if you want to unmount the iso file just type

    # umount /mnt/disk
    disk is the name of the folder you created.

    you can then remove the directory

    # rmdir /mnt/disk

  • Jay_Linux Jan 14, 2010 @ 14:18

    How to make a multi-distro bootable USB disk, using ISO images ?

  • vivek Aug 27, 2010 @ 11:00

    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.

  • Marcelo Mar 22, 2011 @ 0:57

    Plz help, im 100% new to linux and i have no clue what im doing!! i tried to copy what the instructions says but it says there is no such directory… can anyone help me??

  • Harsh Apr 1, 2011 @ 14:14

    Exactly what i was looking for……Thanks

  • mischa Jul 1, 2011 @ 17:09

    Thank you, this really helps. Its fine to get a clear and easy instruction!

  • Bruno Jul 22, 2011 @ 21:32

    What if I want to mount an ISO file as the CD, like Daemon Tools, how can I do that?

  • Abhishek Kasina Jan 23, 2012 @ 15:19

    Thank you 🙂

  • Anoop Feb 22, 2012 @ 12:46

    Anyone can give the fstab entry to mount iso permanantly

  • Rick C. Hodgin Jul 26, 2012 @ 22:30

    You forgot to mention how to un-mount them. 🙂

  • Girish Sep 18, 2012 @ 6:17

    Hi,
    Thanks, that worked

    Is there a command to unmount these once done – just like umount in Solaris??

    • VPN Forums Dec 16, 2012 @ 11:38

      Use the umount command. eg “umount /mnt/disk”

  • Shiv Pathak Jan 26, 2013 @ 4:50

    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.

    Thanks

  • john kall Aug 21, 2013 @ 7:38

    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
    Thanks,
    John Kall

  • joe Oct 9, 2013 @ 10:15

    wow, very nice. I’m planning to download a 3rd party software but this gives me an easy approach

    Thanks.

  • Adonis Sardinas Apr 9, 2014 @ 1:57

    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,

    download prl.tools-lin.iso
    Mount, enjoy!

  • jeremy May 12, 2014 @ 5:41

    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?

    • NIX Craft May 13, 2014 @ 14:46

      Make sure file named HEL6_X86_64.iso exists and it is the current directory:

      ls -l HEL6_X86_64.iso

      To mount type as root user:

      mkdir -p /mnt/disk/
      mount -o loop RHEL6_X86_64.iso /mnt/disk/
      
  • John Probert Dec 22, 2015 @ 9:32

    many thanks, helped me a lot

  • t.z. Jun 6, 2016 @ 22:32

    ———- MOUNTING ISO IMAGE (on some *BSD and *Linux) ———-
    su -l root
    mkdir /mydir
    mount -t iso9660 -o loop,ro cdimage.iso /mydir
    ls -la /mydir
    umount /mydir

  • t.z. Jun 6, 2016 @ 22:50

    ———- 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
    whoami
    ..

  • will Jul 2, 2016 @ 19:21

    6/16 Where has this been all my life! Great post!!

  • mouz Sep 21, 2016 @ 15:20

    awesome. it worked 🙂

  • xxx Mar 4, 2017 @ 7:49

    Just to thank for this article, worked perfectly, @ Debian 8, 2017

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.