13
sudo mkdir -p /media/cdrom
cd ~
sudo mount -o loop ubuntu-* /
mount: ubuntu-*: failed to setup loop device: No such file or directory
1
  • What did you expect? You created (as root) a directory, then changed directory to the HOME directory of the logged-in user, then tried to mount the wildcard ubuntu-* over the root directory. The wildcard ubuntu-* did not match anything in the current directory, and mount told you. What were you trying to do?
    – waltinator
    Jun 10, 2015 at 5:56

4 Answers 4

15

First make sure you have mounted loop device kernel module. So run:

lsmod | grep loop

If you get no output, that means you have to mount the loop device kernel module . So:

modprobe loop

Re-run the following to make sure the module is loaded. You should get some outputs:

lsmod | grep loop

Now, to mount an ISO file as loop device do the following:

mount -o loop -t iso9660 <path/to/iso/file> /media/cdrom

However I guess it should also work without the -t iso9660 part.

3
  • 28
    modprobe loop produces no output, is that the expected behavior? Even after that, there is no output for lsmod | grep loop. Mar 2, 2017 at 23:31
  • 1
    Check that you have the /dev/loop0 device and that you have permissions to use it. Use --privileged if you try this in Docker.
    – Qsiris
    Oct 17, 2019 at 14:07
  • 2
    I have the /dev/loop0 and I am running this after sudo -i but still no output after doing modprobe loop.
    – bomben
    Dec 11, 2021 at 14:10
4

I suspect you're blindly following some instructions on how to mount an Ubuntu ISO image using the loop device.

sudo mkdir -p /media/cdrom

This creates a directory cdrom owned by root in /media if not existing, and it's meant to be used as the to be mounted filesystem's mount point;

cd ~

This changes the current working directory of your terminal instance to ~, which is a shorthand which expands to your home directory's path;

sudo mount -o loop ubuntu-* /

This attempts to mount all the files matching ubuntu-* (all the files having a filename starting with ubuntu-) in your home directory using the loop device and / as the mount point. Just don't do that. It's not useful at all to match against a wildcard if you're trying to mount a single ISO image, leaving aside that fact that you want your / mount point to keep holding the root partition. Mount the ISO image specifying its exact filename and mount it on the mount point you just created (/media/cdrom). In order to do that, make sure that the ISO image you want to mount is present in your home directory and change ubuntu-* with the full name of the ISO image. For example, to mount the official image of Ubuntu Desktop 14.04.2 64-bit the command would be:

sudo mount -o loop ubuntu-14.04.2-desktop-amd64.iso /media/cdrom
0

This mounted my file for me

sudo mount -o loop ubuntu-14.04.2-desktop-amd64.iso /media/cdrom

Thanks kos

0

I'm aware that the this is not a direct answer to the OP's question. however I decided to drop an answer because this post was a high ranked result when I googled about my own situation.

In my case running as a non-root user caused the following error:

failed to setup loop device for /home/user/ubuntu-22.04.3-live-server-amd64.iso

Don't forget to run mount command with root privileges.
You can run it with sudo for example.

3
  • This does not answer the question. In the question, they clearly have the sudo part correct
    – Daniel T
    Feb 12 at 15:05
  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Daniel T
    Feb 12 at 15:05
  • thank you @DanielT for your advice. I googled my error message (the one that is included in my answer) and this question was a high rank result. I noticed that the OP has already used sudo to run with high privileges but I decided to put an answer to help those who might be redirected here (just like me)
    – mahyard
    Feb 13 at 7:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .