VMware 在 Linux 客户机上的特定文件夹中挂载共享文件夹

VMware 在 Linux 客户机上的特定文件夹中挂载共享文件夹

我想要将 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]/工作,我又想出了另一个主意。我将共享文件夹重命名为“docker”,并修改了相关行/etc/fstab

vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other,_netdev 0 0

更改为:

vmhgfs-fuse /var/lib fuse defaults,allow_other,_netdev 0 0

但是,它“覆盖”了整个/var/lib,其中唯一可见的文件夹是共享文件夹[1],我将其命名为 docker。虽然第二个选项可能有效,如果我将整个复制/var/lib出来,进行更改并将其全部复制回来,但这感觉太不合时宜了(而且 VMware 可能会删除它们,因为我复制回来的其他文件夹/var/lib不是合适的共享文件夹)。


[1]:关于 VMware 共享文件夹的工作方式的说明:

如果我在客户 Linux 上将路径设置/etc/fstab/example,则整个example文件夹将被“覆盖”(不可访问),并且共享文件夹将变为可用/example/shared1/example/shared2等。

答案1

我想要将 VMware 共享文件夹挂载到默认位置以外的位置。

https://kb.vmware.com/s/article/60262

如果你有打开虚拟机工具安装后,最简单的方法是使用终端 shell 运行:

vmhgfs-fuse .host:/SHARE DESTINATION

请注意,挂载到 上/var/lib会隐藏 的旧内容/var/lib,这对于一般的挂载来说都是如此,因此您应该挂载到子目录中。例如:

sudo vmhgfs-fuse .host:/SHARE/docker /var/lib/docker -o allow_other

请注意,上述内容要求/var/lib/docker是现有目录并使用,sudo因为挂载到需要 root 权限/var/lib-o allow_othermount 选项允许非 root 用户访问挂载。

或者,您始终可以将共享文件夹挂载到任何位置,然后创建一个/var/lib/docker符号链接指向该挂载位置,例如:

sudo ln -s /mnt/hgfs/SHARE/docker /var/lib/docker

相关内容