我想将 VMware 共享文件夹安装到默认位置以外的位置。
自 VMware Workstation 15 (2023) 起,Linux 客户机中共享文件夹的默认挂载路径为:/mnt/hfgs/[shared_folder_name]/
我的最终目标是使 docker 的文件夹可从主机作为共享文件夹使用:/var/lib/docker/
我试过:
1.
mount --bind /var/lib/docker/ /mnt/hgfs/[shared_folder_name]/
mount --bind /mnt/hgfs/[shared_folder_name]/ /var/lib/docker/
该mount
命令没有返回错误,但似乎没有任何变化。
2.
由于我必须进行修改/etc/fstab
才能使默认/mnt/hfgs/[shared_folder_name]/
工作正常,因此我有另一个想法。/etc/fstab
我将共享文件夹重命名为“docker”,并从中修改了相关行:
vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other,_netdev 0 0
对此:
vmhgfs-fuse /var/lib fuse defaults,allow_other,_netdev 0 0
然而,它“覆盖”了整个/var/lib
,其中唯一可见的文件夹是我命名为 docker 的共享文件夹[1]。/var/lib
虽然如果我将整个文件复制出来,然后将其全部复制回来,那么第二个选项可能会起作用,但感觉太老套了(并且VMware可能会删除它们,因为我复制回的其他文件夹/var/lib
不正确)共享文件夹)。
[1]:有关 VMware 共享文件夹如何工作的注意事项:
如果在来宾 Linux 上我将路径设置为/etc/fstab
,/example
则整个example
文件夹将被“覆盖”(不可访问),并且共享文件夹将变为可用/example/shared1
,/example/shared2
如 、 等。
请参见https://kb.vmware.com/s/article/60262。
如果您安装了open-vm-tools,最简单的方法是使用终端 shell 来运行:
请注意,挂载 over
/var/lib
会隐藏 的旧内容/var/lib
,这对于一般挂载来说是正确的,因此您应该挂载到子目录中。例如:请注意,上面的内容预计
/var/lib/docker
是一个现有目录并使用sudo
,因为需要 root 权限才能挂载到/var/lib
. 挂载选项-o allow_other
允许非 root 用户访问挂载。或者,您始终可以将共享文件夹安装在任何位置,然后创建一个
/var/lib/docker
符号链接来指向该安装位置,例如: