Can't mount ISO file as loop device: Error: “failed to setup loop device”
sudo mkdir -p /media/cdrom
cd ~
sudo mount -o loop ubuntu-* /
mount: ubuntu-*: failed to setup loop device: No such file or directory
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.
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