【虚拟机】Ubuntu18.04 设置共享文件夹(解决/mnt 目录下没有 hgfs 目录)

本文介绍了如何在Windows主机上创建共享文件夹,并在Ubuntu虚拟机中访问和挂载这些共享文件。首先在Windows创建共享文件夹,然后在虚拟机设置中添加共享。在Ubuntu中,通过安装VMwaretools,手动创建/mnt/hgfs目录并挂载共享文件夹,最后设置开机自动挂载。如果/mnt/hgfs未显示共享文件夹,需要检查挂载和设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         目录

1、Windows创建一个共享文件夹

2、在虚拟机的设置中选择Windows下的共享文件夹

3、在Ubuntu中查看共享文件夹

4、解决/mnt 目录下没有 hgfs 目录

5、设置共享文件夹以后,/mnt/hgfs下没有出现共享文件夹 


这种方式使用的前提是Ubuntu虚拟机和Windows系统在同一主机上

1、Windows创建一个共享文件夹

该共享文件夹可以被Windows和Ubuntu访问,需要注意的是,Ubuntu在共享目录下的一些操作会受到限制,因为Ubuntu的文件权限管理和用户管理和Windows不同,所以对文件的操作会受到限制。

这里就在C盘创建一个Ubuntu12-Share的共享文件夹。

2、在虚拟机的设置中选择Windows下的共享文件夹

依次选择“虚拟机 —— 设置”

然后按照如下顺序选择

看到添加向导以后,点击“下一步” 

3、在Ubuntu中查看共享文件夹

 共享文件夹在 /mnt/hgfs 目录下,如果 /mnt 下没有 hgfs 目录,请跳转到最后一个模块

我们向Windows共享文件夹中拷入的内容,在Ubuntu中也可以访问到

4、解决/mnt 目录下没有 hgfs 目录

(1) 安装VMWare tools

这个是虚拟机管理工具,一方面是为了查看共享目录是否设置成功,另一方面是为了下面做铺垫

sudo apt-get install open-vm-tools

查看共享目录,如果出现了共享目录的名字,说明共享目录是设置成功的。

vmware-hgfsclient

(2) 手动在 /mnt 下创建 hgfs 目录

创建hgfs目录,然后将你的共享目录挂载到 hgfs 目录下(以后你写入到共享目录中的内容,可以在Ubuntu中的 hgfs 目录下找到)

sudo mkdir -p /mnt/hgfs
sudo chmod a+w /mnt/hgfs
# vmhgfs-fuse .host:/ 挂载目录
vmhgfs-fuse .host:/ /mnt/hgfs/
附加选项解析
-o allow_other 允许其他用户使用该共享目录

提示:  其他附加选项可以输入 vmhgfs-fuse -h 查看

(3) 添加开机自动挂载

上述的挂载只是本次登录有效,这里最好设置成每次开机就自动挂载,在 /etc/fstab 文件中添加如下内容,这一句内容对应了六个字段:

<file system> <mount point> <type> <options> <dump> <pass>

.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0

注意: 若添加以后,出现了开启无法正常启动(无法进入到桌面模式),可能是添加了错误的附加选项,比如这里的 allow_other 就是附加选项。此时的解决方案是,通过命令行编辑器删除添加的这句话就可以重新进入到桌面模式了。

(4) 测试

我们在Windows下的共享目录中添加一个文件夹,在Ubuntu中的 /mnt/hgfs 下也可以看到该文件夹

5、设置共享文件夹以后,/mnt/hgfs下没有出现共享文件夹 

主要原因可能是没有将你的共享目录挂载到 /mnt/hgfs 目录下,所以需要自己手动挂载一下

(1) 查看共享文件夹的名称

这一步的目的是确认共享文件夹是否设置成功。

vmware-hgfsclient

(2) 安装虚拟机工具包

sudo apt-get install open-vm-tools

(3) 手动挂载(开机自动挂载)

在命令行输入如下指令来手动挂载。但是仅本次登录有效

sudo vmhgfs-fuse .host:/ /mnt/hgfs

我们可以修改 /etc/fstab 文件,并添加如下内容,这样的话就可以实现开机自动挂载到 /mnt/hgfs 目录下了

.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0

注意: 若添加以后,出现了开启无法正常启动(无法进入到桌面模式),可能是添加了错误的附加选项,比如这里的 allow_other 就是附加选项。此时的解决方案是,通过命令行编辑器删除添加的这句话就可以重新进入到桌面模式了。

### 解决方案 在Ubuntu系统中,当`/mnt/hgfs`挂载目录为空时,可能是由于多种原因引起的。以下是综合分析后的解决方案: #### 1. **确认共享文件夹是否正确配置** 确保主机上的共享文件夹已经在VMware的虚拟机设置中进行了正确的配置,并且启用了“始终启用”。可以通过以下命令验证共享文件夹是否存在: ```bash vmware-hgfsclient ``` 此命令会列出当前可用的共享文件夹名称[^3]。 如果未看到预期的共享文件夹名称,则需要返回到VMware界面重新检查并配置共享文件夹。 --- #### 2. **取消现有挂载** 有时现有的挂载可能存在问题,因此建议先取消挂载再重新操作: ```bash sudo umount /mnt/hgfs ``` --- #### 3. **重新挂载共享文件夹** 执行以下命令重新挂载共享文件夹,确保使用了合适的参数: ```bash sudo vmhgfs-fuse .host:/ /mnt/hgfs -o nonempty -o allow_other ``` 其中: - `-o nonempty`: 即使目标目录不为空也能成功挂载; - `-o allow_other`: 允许其他用户访问挂载点[^3]。 --- #### 4. **指定UID和GID挂载** 某些情况下,默认挂载可能导致权限不足的问题。可以尝试通过指定用户的UID和GID来解决问题: ```bash /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=$(id -u) -o gid=$(id -g) -o umask=0002 ``` 这一步骤将挂载点绑定至当前登录用户,从而避免因权限问题导致的内容不可见[^2]。 --- #### 5. **手动添加fstab自动挂载** 为了实现开机自动挂载,可编辑`/etc/fstab`文件,在其末尾追加以下内容: ```plaintext .vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other,_netdev 0 0 ``` 保存后重启虚拟机即可生效[^4]。 --- #### 6. **重新安装或修复VMware Tools** 如果以上方法均无效,可能存在工具损坏的情况。此时需卸载并重新安装VMware Tools: ```bash sudo apt-get remove open-vm-tools sudo apt-get install open-vm-tools-desktop ``` 或者按照官方文档指导完成源码编译安装过程[^5]。 --- #### 7. **清理缓存与重置环境** 作为最后手段,可以清除旧有的共享文件夹数据后再试: 1. 删除原有共享文件夹关联; 2. 始终禁用原共享文件夹; 3. 关闭并重启虚拟机; 4. 创建新的共享文件夹并测试效果[^5]。 --- ### 注意事项 - 确保使用的共享文件夹名称不含特殊字符或中文,推荐采用纯英文命名方式以减少潜在冲突[^2]。 - 若仍遇到异常状况,请核查日志文件 `/var/log/syslog` 或者运行 `dmesg | grep vmhgfs` 查找具体报错信息以便进一步排查。 ---
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值