在 VM Linux中装载共享文件夹
非永久挂载
启用共享文件夹后,除默认位置 /mnt/hgfs
~~**可能也没有哟**~ 外,您还可以将共享文件夹中的一个或多个目录 / 子目录装载到文件系统中的任意位置。
VMware Tools 会根据 Linux 客户机操作系统的内核版本,使用不同的组件来提供共享文件夹功能。在版本 4.0 之前的 Linux 内核中,VMware Tools 服务脚本会加载一个驱动程序来执行装载。Linux 内核 4.0 及更高版本使用 FUSE 文件系统组件。
您可以使用不同的装载命令将所有共享、某个共享或共享中的某个子目录装载到文件系统中的任意位置。这些命令也会因客户机 Linux 内核版本的不同而有所不同。
4.0 之前的 Linux 内核 | 4.0 及更高版本的 Linux 内核 | 说明 |
---|---|---|
mount -t vmhgfs .host:/ /home/user1/shares | /usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other | 将所有共享装载到 /home/user1/shares |
mount -t vmhgfs .host:/foo /tmp/foo | /usr/bin/vmhgfs-fuse .host:/foo /tmp/foo -o subtype=vmhgfs-fuse,allow_other | 将名为 foo 的共享装载到 /tmp/foo |
mount -t vmhgfs .host:/foo/bar /var/lib/bar | /usr/bin/vmhgfs-fuse .host:/foo/bar /var/lib/bar -o subtype=vmhgfs-fuse,allow_other | 将共享 foo 中的子目录 bar 装载到 /var/lib/bar |
对于版本 4.0 之前的 Linux 内核,除了标准 mount
语法之外,您还可以使用 VMware 特定的选项。输入命令 /sbin/mount.vmhgfs -h
可列出这些选项。
对于 Linux 内核版本 4.0 或更高版本,输入命令 /usr/bin/vmhgfs-fuse -h
可列出可用的选项。
注:
- 如果共享文件夹被禁用或共享不存在,装载操作将失败。系统不会提示您重新运行 VMware Tools vmware-config-tools.pl 配置程序。
- 如果等待挂在目录下有文件,在命令中加上 -o nonempty (比如加在末尾:/usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other -o nonempty) 如果将目录挂载到非空目录,该目录之前的文件将无法访问
- 若提示错误:
fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
则在/etc/fuse.conf中将user_allow_other前的注释符合#删除保存(需root权限)
永久挂载
删除挂载
卸载的话使用下面的命令:
sudo umount -f /mnt/shared
注意:
共享文件夹的名称千万不要和挂载点的名称相同。比如,上面的挂载点是/mnt/shared,如果共享文件夹的名字也是shared的话,在挂载的时候就会出现如下的错误信息(看http://www.virtualbox.org/ticket/2265):
/sbin/mount.vboxsf: mounting failed with the error: Protocol error
提示错误 /sbin/mount.vboxsf: mounting failed with the error: Invalid argument
或者重启虚拟机后没有挂载共享文件夹:
- 在/etc/fstab中添加一项
gongxiang /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0 - 在vitualbox设置中共享文件夹里取消自动挂载、取消自动挂载、取消自动挂载,重要的事说三遍可以解决,
参考文章列表
linux 客户机挂载vitualbox共享文件夹
在 Linux 客户机中装载共享文件夹
优化对 Linux 共享文件的读写访问
Ubuntu使用sshfs挂载远程目录