在两个地方挂载 Linux 驱动器

Max*_*Max 6 linux mount hard-drive

我一直在寻找一种在硬盘驱动器上的两个位置安装相同驱动器(例如 /dev/sdd1)的方法。如果我再次尝试使用我用来在第一个位置安装驱动器的命令,我会收到错误消息:

“安装被拒绝,因为 NTFS 驱动器已经以独占方式打开。”

我也试过绑定挂载点,但显然如果主位置被卸载,绑定的文件夹就可以访问了。

我可以尝试其他任何命令吗?

use*_*686 12

对于 Linux绑定挂载,没有“主要位置”这样的东西。两个坐骑是平等的;如果一个被卸载,另一个将保留。

mount --bind /mnt/original /home/max/newlink
Run Code Online (Sandbox Code Playgroud)

(对于fstab,使用/mnt/original /home/max/newlink none bind。)


Fle*_*exo 4

我能看到解决这个问题的唯一方法(特别是“如果它被卸载会发生什么?”部分)是使用自动挂载符号链接,如古斯塔夫的回答中所建议的:

ln -s /mnt/original /home/max/newlink
Run Code Online (Sandbox Code Playgroud)

不过,诀窍是制作自动挂载映射,/mnt特别是由自动挂载映射/mnt/original覆盖,您的发行版应该为此提供一个包,您将需要类似以下内容的内容:/etc/auto.master

/mnt    /etc/auto.mnt
Run Code Online (Sandbox Code Playgroud)

然后在/etc/auto.mnt

original        -fstype=ntfs    /dev/sdd1
Run Code Online (Sandbox Code Playgroud)

通过这种方式,访问 /mnt/original 将导致/dev/sdd1正确安装,但“查看”符号链接也将导致它被安装(如果由于任何原因尚未安装)。

(还有一件事 - 如果你碰巧也通过 samba 导出它,你需要使用它来让 samba 相信它存在。我是这篇博文preexec中的“健谈的朋友” )