来自同一映像的同一文件的两次挂载:取消挂载第一个映像时出错

来自同一映像的同一文件的两次挂载:取消挂载第一个映像时出错

我希望能够从映像挂载两组(可能更多)映像和文件(squashfs)并独立卸载它们。但是,当两组都已安装时(第一个然后第二个),umount第一个映像安装点失败target is busyumount在文件的第一个安装点成功之后)。代码如下。

当所有初始安装时,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 文件的正确路径)。

相关内容