无法将ISO文件挂载为循环设备:错误:“无法设置循环设备”


9
sudo mkdir -p /media/cdrom
cd ~
sudo mount -o loop ubuntu-* /
mount: ubuntu-*: failed to setup loop device: No such file or directory

您期望什么?您创建(作为root)目录,然后将目录更改为登录用户的HOME目录,然后尝试将通配符挂载ubuntu-*到根目录上。通配符ubuntu-*与当前目录中的任何内容均不匹配,并mount告诉您。你想做什么?
waltinator 2015年

Answers:


8

首先,请确保您已安装循环设备内核模块。因此运行:

lsmod | grep loop

如果没有输出,则意味着必须安装循环设备内核模块。所以:

modprobe loop

重新运行以下命令以确保模块已加载。您应该得到一些输出:

lsmod | grep loop

现在,要将ISO文件安装为循环设备,请执行以下操作:

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

但是,我想它也应该没有-t iso9660一部分就可以工作。


10
modprobe loop没有产生任何输出,是预期的行为吗?即使在那之后,也没有输出lsmod | grep loop
Mads Skjern

检查您是否拥有该/dev/loop0设备以及您是否有权使用它。--privileged如果您在Docker中尝试此操作,请使用。
Qsiris

2

我怀疑您盲目地遵循了有关如何使用循环设备挂载Ubuntu ISO映像的一些说明。

sudo mkdir -p /media/cdrom

这将创建一个cdrom由root拥有的目录(/media如果不存在),该目录将用作要挂载的文件系统的挂载点;

cd ~

这会将您的终端实例的当前工作目录更改为~,这是扩展到您的主目录路径的简写形式。

sudo mount -o loop ubuntu-* /

这会尝试使用循环设备并作为挂载点挂载主目录中ubuntu-*所有匹配的文件(所有文件名以开头的文件ubuntu-/。只是不要那样做。如果要挂载单个ISO映像,则与通配符匹配根本没有用,而要/保留挂载点以保持根分区仍然是一个事实。挂载ISO映像并指定其确切的文件名,然后将其挂载到刚创建的挂载点(/media/cdrom)上。为此,请确保主目录中存在要挂载的ISO映像,并使用ISO映像ubuntu-*的全名进行更改。例如,要挂载64位Ubuntu Desktop 14.04.2的正式映像,命令将为:

sudo mount -o loop ubuntu-14.04.2-desktop-amd64.iso /media/cdrom
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.