我正在使用 Ubuntu 18.04,并尝试使用以下命令安装 Matlab ISO:
sudo mount R2018a_glnxa64_dvd1.iso /mnt/cdrom -o loop
但终端的响应如下:
mount: /mnt/cdrom: failed to setup loop device for R2018a_glnxa64_dvd1.iso.
我不确定这意味着什么以及如何推进它。
答案1
当我遇到这个问题时,我尝试从 sshfs 挂载的目录挂载 iso 映像。将 iso 映像复制到本地文件系统后,它就可以工作了。
答案2
首先创建/mnt/cdrom
目录:
mkdir -p /mnt/cdrom
然后挂载iso镜像具有绝对图像路径,例如,/home/user/R2018a_glnxa64_dvd1.iso
而不只是R2018a_glnxa64_dvd1.iso
:
sudo mount -o loop /home/user/R2018a_glnxa64_dvd1.iso /mnt/cdrom
如果该目录/mnt/cdrom
存在,请获取有关您的 iso 映像的更多信息:
file R2018a_glnxa64_dvd1.iso
并尝试使用显式文件系统类型进行挂载,例如:
sudo mount -o loop -t iso9660 /home/user/R2018a_glnxa64_dvd1.iso /mnt/cdrom
另请阅读我在 Askubuntu 的回答,可能您的映像有引导扇区,然后使用offset
应首先计算的选项挂载它。
答案3
我遇到了一个非常相似的问题。幸运的是,@user3049102 的答案引导我走向正确的方向,我发现说明。
问题出在存储图像文件的文件系统上(在我看来,这也可能是你的情况)。
我的问题是 FUSE 文件系统原型上的 ISO 映像。我不确定是我没有实施某些措施还是有其他原因。事实上,问题非常简单并且解释得很好,但具体到基于 FUSE 的文件系统(如上面提到的sshfs
,当前的实现正在使用 FUSE)。出于安全原因,FUSE 拒绝除了已挂载文件系统的用户之外的任何其他用户访问已挂载文件系统上的文件。某些 FUSE 安装选项可以更改此行为 - 对此进行了解释FUSE 的 gihub- 参见章节“安全影响”。
我想这可能也是其他一些文件系统的问题 - 因此,如果sudo mount ... -o loop
其通用错误信息失败,首先要做的就是检查是否root
可以访问已安装的映像文件。然后我还要检查存储图像的文件系统是否没有某些特定的属性/限制,这也可能导致存储在那里的文件无法配置为循环设备。
正如关于 的答案中提到的sshfs
,最简单的解决方案是将文件复制到一些更“本地”的文件系统,或者 - 至少在 ISO 映像的情况下 - 使用例如。fuseiso
以同一用户身份安装映像。