![来自同一映像的同一文件的两次挂载:取消挂载第一个映像时出错](https://linux22.com/image/225607/%E6%9D%A5%E8%87%AA%E5%90%8C%E4%B8%80%E6%98%A0%E5%83%8F%E7%9A%84%E5%90%8C%E4%B8%80%E6%96%87%E4%BB%B6%E7%9A%84%E4%B8%A4%E6%AC%A1%E6%8C%82%E8%BD%BD%EF%BC%9A%E5%8F%96%E6%B6%88%E6%8C%82%E8%BD%BD%E7%AC%AC%E4%B8%80%E4%B8%AA%E6%98%A0%E5%83%8F%E6%97%B6%E5%87%BA%E9%94%99.png)
我希望能够从映像挂载两组(可能更多)映像和文件(squashfs)并独立卸载它们。但是,当两组都已安装时(第一个然后第二个),umount
第一个映像安装点失败target is busy
(umount
在文件的第一个安装点成功之后)。代码如下。
当所有初始安装时,findmnt
显示两组图像和文件安装“占用”相同的循环设备(一组用于图像,一组用于文件)。为了解决这个问题,我尝试使用 来将映像安装到不同的循环设备mount -o loop=/dev/loopx
,但结果是overlaping loop device exists
.有什么方法可以避免复制映像并仍然独立地挂载/卸载映像+文件吗?
BTW 安装文件第二次输出额外的内容(与第一次相比):WARNING. source write-protected
.
PS 网上搜索发现如何同时从磁盘映像挂载多个分区?和https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1836914IMO 相关但不直接。
代码:
mkdir i_1 i_2 s_1 s_2
mount img i_1
WARNING: source write-protected, mounting read-only.
mount img i_2
WARNING: source write-protected, mounting read-only.
mount i_1/filesystem.squashfs s_1
mount i_2/filesystem.squashfs s_2
WARNING: source write-protected, mounting read-only.
umount s_1
umount i_1
target is busy.
为了重新执行,可以将一些发行版 iso 作为映像文件(替换为 squashfs 文件的正确路径)。