How to: Mount an ISO image under Linux

by nixcraft · 43 comments

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:

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 43 comments… read them below or add one }

1 Mills 09.15.04 at 8:13 pm

Cheers, worked like a charm :-)

2 Anonymous 04.27.05 at 9:48 pm

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

3 sshawnn 11.05.06 at 3:24 am

Just what i needed, mahalo!

4 Hashim 01.10.07 at 8:52 pm

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!

5 ORB 04.18.07 at 1:00 pm

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

6 richard 07.07.07 at 8:20 pm

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

7 Reggie 07.19.07 at 4:13 pm

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

8 kvz 08.02.07 at 11:32 am
9 artiomix 08.02.07 at 10:10 pm

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

10 Raul Trujillo 01.30.08 at 4:50 pm

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.

11 hedron 02.04.08 at 3:18 am

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

12 PICCORO 04.30.08 at 2:27 pm

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)

13 PICCORO 04.30.08 at 2:31 pm

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

14 Guido Flohr 05.02.08 at 5:18 pm

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

15 linuxuser 05.09.08 at 8:45 am

SALAM
Thanks alot

16 Knusper 05.15.08 at 6:17 pm

Wonderfull! Works!

17 PICCORO 06.03.08 at 2:24 pm

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

18 poysan 06.19.08 at 5:29 am

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

19 vivek 06.19.08 at 5:37 am

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

20 himadri 06.27.08 at 3:57 pm

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

21 Mike 07.10.08 at 2:03 pm

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

22 Gn0m3r.X 10.12.08 at 12:08 pm

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

23 mian 10.31.08 at 5:27 am

Dear ,

r u sure dat it’ll work.

mail me @ usama.comsys@gmail.com

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

24 Gn0m3r.X 11.07.08 at 4:32 pm

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

25 Miladin 12.18.08 at 5:23 pm

Thanks, it worked perfectly :)

26 Jim 02.12.09 at 11:06 pm

Top of the google results! Thanks for the help.

27 Gary 02.15.09 at 3:36 pm

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

28 LeiMai 03.19.09 at 11:55 pm

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?

29 andrae 03.31.09 at 5:42 pm

you’re the best :-))

30 sahil 05.02.09 at 12:49 pm

you may use acetoneiso for gui…..

31 kalyani 05.14.09 at 9:53 am

thanks a lot……….its awesome!!

32 Dokjae 06.20.09 at 11:44 pm

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.

33 Vivek Gite 06.21.09 at 12:08 am

Use mkisofs command. Create an ISO file that can be opened on both windows and Linux computer for /home/vivek directory.
mkisofs -v -o /tmp/test.iso -R /home/hosting-app
See the following:
http://www.cyberciti.biz/tips/how-do-i-write-cd-at-debain-linux-command-prompt.html

34 Dokjae 06.21.09 at 2:45 am

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?

35 Vivek Gite 06.21.09 at 2:54 am

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

36 yogesh 07.18.09 at 10:10 am

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

37 john 08.06.09 at 9:11 pm

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

thanks

38 Rico 10.21.09 at 11:08 pm

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?

39 soul 11.15.09 at 2:41 pm

# 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

40 Simply Laz 11.17.09 at 11:24 pm

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

41 soul.. 11.20.09 at 11:59 am

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

42 krow king 01.03.10 at 11:16 am

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

43 Jay_Linux 01.14.10 at 2:18 pm

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

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Next post: