Answers:
首先,请确保您已安装循环设备内核模块。因此运行:
lsmod | grep loop
如果没有输出,则意味着必须安装循环设备内核模块。所以:
modprobe loop
重新运行以下命令以确保模块已加载。您应该得到一些输出:
lsmod | grep loop
现在,要将ISO文件安装为循环设备,请执行以下操作:
mount -o loop -t iso9660 <path/to/iso/file> /media/cdrom
但是,我想它也应该没有-t iso9660
一部分就可以工作。
modprobe loop
没有产生任何输出,是预期的行为吗?即使在那之后,也没有输出lsmod | grep loop
。
/dev/loop0
设备以及您是否有权使用它。--privileged
如果您在Docker中尝试此操作,请使用。
我怀疑您盲目地遵循了有关如何使用循环设备挂载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
root
)目录,然后将目录更改为登录用户的HOME目录,然后尝试将通配符挂载ubuntu-*
到根目录上。通配符ubuntu-*
与当前目录中的任何内容均不匹配,并mount
告诉您。你想做什么?