虚拟机找不到共享文件夹,核心原因是VMware Tools未安装或共享目录配置未生效,按顺序检查这两处即可解决。这个问题在Windows和Linux虚拟机上都经常出现,多数情况下不是虚拟化软件坏了,而是设置没有落到位,下面按照排查顺序,把每一步怎么做说清楚。
虚拟机共享文件夹无法访问?先确认这两件事
VMware Tools是否安装完整
共享文件夹功能依赖VMware Tools提供的驱动和服务,没有安装或安装不完整,虚拟机系统里根本看不到共享目录图标,在VMware Workstation菜单栏点击“虚拟机”->“安装VMware Tools”,然后重启虚拟机,Windows系统安装后,会在托盘区看到VMware Tools进程;Linux系统可以在终端执行vmware-toolbox-cmd -v查看版本号,如果显示版本信息,说明安装成功,否则需要重新安装。
共享文件夹是否真的添加成功
在虚拟机设置窗口里,选择“选项”选项卡,进入“共享文件夹”,确认选中“总是启用”,并且下方的文件夹列表里至少有一条记录,很多人在这里卡住,因为只勾了“启用”,没有点“添加”把宿主机目录加进去。添加时最好重新浏览一次宿主机路径,确认路径中不含中文或空格,某些版本对特殊字符支持不好,会导致虚拟机内部识别异常。
VMware共享文件夹设置方法一步步重建共享路径
在虚拟机设置里重新添加共享目录
如果之前的配置看起来没问题但还是找不到,最直接的办法是删除原有共享项,重新添加。
- 打开VMware Workstation,右键点击虚拟机名称,选择“设置”。
- 进入“选项”->“共享文件夹”。
- 选择“总是启用”,点击“添加”,进入添加共享文件夹向导。
- 在“主机路径”一栏选择宿主机里的真实文件夹,比如
D:share。 - “名称”一栏自动生成,一般保持默认即可,这个名称会成为虚拟机内的挂载目录名。
- 勾选“启用此共享”,点击“完成”。
操作完成后,建议关闭虚拟机并重新启动一次,而不只是重启客户机系统,深度清理一下配置,比反复改设置更有效。
手动挂载命令:解决Linux虚拟机找不到共享目录
在Linux虚拟机里,即使VMware Tools正常,共享文件夹也不会自动出现在某个固定位置。行业共识认为,Linux下最好通过手动挂载来访问共享目录,这也是运维人员常用的标准动作。
先执行vmware-hgfsclient,这个命令会把宿主机共享的所有文件夹名称列出来,如果这里没有输出,说明VMware Tools的hgfs模块没有加载,需要检查或重装Tools,如果列出来了,就可以挂载:
sudo mkdir -p /mnt/hgfs sudo mount -t vmhgfs .host:/共享名 /mnt/hgfs
注意共享名替换成vmware-hgfsclient输出的实际名称,挂载之后执行ls /mnt/hgfs,能看到宿主机目录内容就成功了。
临时挂载与永久挂载
上面的mount命令只是临时生效,重启虚拟机后挂载点又空了,如果想让每次开机自动挂载,需要编辑/etc/fstab文件,在末尾加一行:
.host:/共享名 /mnt/hgfs vmhgfs defaults,noatime 0 0
然后执行sudo mount -a测试配置是否正确,修改fstab前务必备份原文件,否则可能造成系统无法启动。
虚拟机共享文件夹在哪?不同系统下的常见位置
Windows虚拟机中的共享路径
Windows虚拟机安装完整VMware Tools后,共享文件夹会映射到一个网络路径,常见位置是\vmware-hostShared Folders共享名,在文件资源管理器地址栏直接输入这个路径,或者在“网络”里找到名称为vmware-host的主机图标,也有部分版本会把共享盘符映射到一个驱动器字母,比如Z:盘,如果这两处都没有,说明服务未启动,可以在“服务”管理器中找到“VMware Shared Folders”服务,将其启动并设为自动。
Linux虚拟机中的挂载点
Linux虚拟机默认挂载点一般是/mnt/hgfs,执行ls /mnt/hgfs查看看不到内容时,先确认hgfs目录是否存在。业内专家指出,很多找不到共享文件夹的案例,其实是/mnt/hgfs根本不存在,或者挂载命令里少写了.host:/前缀,用mount | grep hgfs查看当前挂载状态,如果输出为空,说明还没挂载成功。
顺带排查:共享文件夹权限与网络隔离问题
文件能看到但打不开?权限不够
共享文件夹目录在虚拟机内能看见,但读写时报权限错误,这通常是宿主机目录权限限制所致,Windows宿主机的共享目录如果设置为“只读”,虚拟机侧无论怎么调整用户组都没用,右键宿主机共享目录,进入“属性”->“共享”->“高级共享”->“权限”,将“Everyone”的权限改为“完全控制”,或者把VMware用户添加进去并赋予读写权限,Linux宿主机则要检查目录属性,执行chmod 755 /home/user/share即可解决大部分权限问题。
使用桥接模式还是NAT?对共享无影响
不少用户在排查时切换虚拟机网络模式,以为桥接和NAT会影响共享文件夹,其实共享文件夹走的是VMware自带的hgfs虚拟通道,
与网络适配器设置没有直接关系,桥接或NAT都不会造成共享目录消失,如果切换网络后共享也失效了,那只是重启虚拟机时VMware Tools服务没同步启动,和网络模式无关。
常见问题问答
虚拟机共享文件夹无法访问,重启后消失怎么解决?
重启失效多半是因为挂载没有写入开机启动项,Windows虚拟机检查VMware Tools服务是否设为“自动”,Linux虚拟机检查/etc/fstab是否配置了vmhgfs挂载行,配置正确再执行mount -a验证,没有自动挂载的,每次重启后手动挂载即可。
VMware Workstation与Hyper-V的共享文件夹设置有什么区别?
VMware Workstation通过“虚拟机设置”->“共享文件夹”来添加目录,依赖VMware Tools,Hyper-V则使用“增强会话模式”里的“驱动器重定向”功能,不需要单独装Tools,但需要客户端支持,两家的路径格式不同:VMware使用\vmware-host,Hyper-V直接把宿主机盘符映射到虚拟机,具体做法取决于宿主机是否启用增强会话。
虚拟机共享文件夹在哪个目录下找?
Windows虚拟机建议检查\vmware-hostShared Folders,Linux虚拟机建议查看/mnt/hgfs,如果这两个位置都为空,先执行vmware-hgfsclient确认共享列表是否存在,再回到虚拟机设置里检查“总是启用”是否勾选,列表有输出但不挂载,手动执行挂载命令就能解决。
共享文件夹的问题,绝大多数是安装步骤不完整或挂载方式不对造成的,按本文顺序排查,先看VMware Tools,再看挂载命令,最后查权限,基本都能找到,以后遇到虚拟机找不到共享文件夹,用这套思路处理,十分钟内可以搞定。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/755708.html





