虚拟机无法读取本机文件,绝大多数情况下不是虚拟机坏了,而是虚拟机软件与宿主机之间的“文件交换通道”没有打通,核心解决办法是正确配置共享文件夹或安装增强工具。
如果你在虚拟机里折腾了半天,打开文件管理器却看不到宿主机(本机)上的任何文件,先别急着重装系统,这个问题绕不开三条路:共享文件夹、拖拽传输、网络共享,下面按成功率从高到低,逐一拆解。
vmware虚拟机共享文件夹设置后仍无法访问怎么回事
在VMware Workstation里,共享文件夹是最常用的本机文件访问方案,但不少用户设置完成后,在虚拟机里依然找不到共享目录,这是怎么回事?
最常见的原因是客户机里没装VMware Tools。 这个工具包不仅是显卡驱动、鼠标无缝切换的载体,更是共享文件夹功能的底层支撑,没有它,你在虚拟机设置里添加的共享路径,客户机系统根本不知道。
安装步骤如下:
- 在VMware菜单栏点击“虚拟机” → “安装VMware Tools”
- 在虚拟机内打开光驱,运行安装程序(Windows)或执行tar解压后运行vmware-install.pl(Linux)
- 装完后重启虚拟机
VMware Tools装好后,Windows虚拟机默认会把共享文件夹映射为网络驱动器,在“此电脑”里能看到带共享图标的盘符,Linux虚拟机则默认挂在/mnt/hgfs目录下。
如果你确认VMware Tools已安装,但仍然看不到共享文件,检查这几项:
- 虚拟机设置 → 选项 → 共享文件夹,必须勾选“总是启用”
- 添加共享路径时,名称不要用中文和特殊符号
- Windows虚拟机还看不到的话,运行
net use检查网络驱动器映射状态
另一个隐蔽问题是版本不匹配。 VMwaare新版软件搭配旧版Tools,偶尔会出现共享失效,行业共识认为,Tools版本与虚拟机主程序版本差距超过两个大版本时,兼容性问题会明显增多,解决办法很简单:重装一遍最新版VMware Tools。

linux虚拟机挂载共享目录的正确操作
Linux用户读不了本机文件,除了VMware Tools没装好,还有一个高频原因:Tools装了,但没挂载。
Ubuntu、CentOS等发行版,即使装了open-vm-tools,有時也不会自动挂载共享目录,手动挂载命令如下:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000
如果没有vmhgfs-fuse命令,先安装open-vm-tools-desktop:
sudo apt install open-vm-tools-desktop # Debian/Ubuntu sudo yum install open-vm-tools-desktop # CentOS/RHEL
挂载后,/mnt/hgfs目录下就会出现你设置的共享文件夹名称,想开机自动挂载,就在/etc/fstab里加一行:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
如果你用的是VirtualBox,术语不一样它叫“增强功能”(Guest Additions),共享文件夹自动挂载到/media目录,原理相同,增强功能没装或没加载,同样看不到本机文件。
虚拟机读取不了U盘文件与USB直通问题
共享文件夹弄明白了,还会遇到一个场景:宿主机上插着U盘,但虚拟机里看不到U盘里的文件,这跟共享文件夹是两码事,属于USB设备直通问题。
虚拟机默认不会主动占用宿主机上的USB设备,你需要手动把U盘“移交”给虚拟机:
- 在虚拟机窗口右下角,找到U盘图标
- 点击它,选择“连接(断开与主机的连接)”
- U盘图标亮起,虚拟机里开始出现U盘盘符
这一步是物理层面的设备切换,如果点了没反应,去虚拟机设置 → USB控制器里,确认USB兼容性选的是USB 3.1或更高版本,并勾选“自动连接新的USB设备”。
个别U盘还是读不了? 可能是U盘的文件系统格式问题,NTFS格式U盘在Linux虚拟机里默认可能只有只读权限,或者干脆不识别,装上ntfs-3g驱动可解:
sudo apt install ntfs-3g
本机文件传不进去虚拟机?网络共享方案兜底

共享文件夹和U盘如果你都试过了,还是折腾不成功,就用网络共享方案。它的核心优势是不依赖任何虚拟化软件的特性,纯靠IP通信,几乎兼容所有虚拟机组合。
在Windows宿主机上把文件夹设置为共享:
- 右键目标文件夹 → 属性 → 共享 → 高级共享
- 勾选“共享此文件夹”,权限里给“Everyone”读取(如果需要写入,勾选完全控制)
- 确认防火墙允许文件和打印机共享(提前放行规则)
然后去虚拟机里,Windows系统按Win+R输入\\宿主机IP\共享文件夹名,Linux系统用以下命令挂载:
sudo mount -t cifs //192.168.x.x/共享文件夹名 /mnt/winshare -o username=你的Windows用户名
虚拟机里确认能不能ping通宿主机IP,ping不通就先查虚拟机网络模式,把NAT改成桥接模式再试,Windows网络发现关闭时,建议直接用IP地址访问,不依赖网络发现。
快速故障排查清单
按以下顺序检查一遍,多数虚拟机无法读取本机文件的问题都能定位到具体环节,你可以跟着下面的步骤逐项排查:
- 确认虚拟化软件自身正常。 VMware/VirtualBox能正常开机,鼠标键盘能正常操作,如果虚拟机本身都卡死,先解决系统运行问题。
- 检查增强工具状态。 Windows虚拟机看右下角VMware Tools图标是否为绿色;Linux虚拟机执行
systemctl status vmware-tools或检查vmware-service进程是否存活。 - 验证共享配置。 虚拟机设置里确认共享文件夹“总是启用”,路径指向正确的本机目录。
- 查防火墙。 Windows宿主机和客户机的防火墙,临时关闭再测一次,如果关了就通,被拦的是文件和打印机共享规则,再把规则单独放行。
- 看日志。 Linux下执行
dmesg | grep hgfs,Windows下打开“事件查看器”搜VMware相关错误,日志里通常会直接告诉你原因。

解决问题时多用排除法。 比如你用共享文件夹连不上,就换USB直通试试,USB也不行就上网络共享,三个方案同时失效的概率极低,总能找到一个能读本机文件的路子。
虚拟机文件共享常见问题解答
vmware虚拟机无法读取主机文件时,最简单的排查动作是什么?
先重装VMware Tools,这是最直接影响文件共享的组件,安装时选择“完全”或“典型”安装,重启后再检查共享文件夹是否出现在/mnt/hgfs或网络驱动器位置。
为什么虚拟机能拖拽文件,但共享文件夹里是空的?
拖拽功能走的是独立的剪贴板通道,和共享文件夹没有关系,共享文件夹空说明Tools的共享服务未正常启动,Windows虚拟机按Ctrl+Alt+Delete打开任务管理器,看服务里有vmmemctl之类的VMware进程是否在运行;Linux虚拟机重启vmware-tools服务:
sudo systemctl restart vmware-tools.service
宿主机Windows 11,虚拟机Ubuntu,双方设置了共享文件夹但读取权限不足,如何调整?
在Windows宿主机的共享文件夹属性中,将“Everyone”的权限设为“读取/写入”;同时确保Linux用户对/data/hgfs有读写权限,Ubuntu虚拟机里挂载后执行:
sudo chmod -R 777 /mnt/hgfs/共享文件夹名
这会在当前会话内赋予完整读写权限,Windows 11新版本默认对网络共享有更严格的权限审核,如果你确认步骤都正确却不生效,不妨在虚拟机里以管理员身份打开终端重新执行挂载命令,Linux虚拟机下和管理员权限相关的权限问题,用sudo往往能直接解决。
三大方案共享文件夹、USB直通、网络共享覆盖了几乎所有虚拟机读取本机文件的场景,先从VMware Tools装起,再按清单逐项排查,这个问题基本在半小时内能解决,记住整条链路的规律:虚拟化工具负责打开通道,客户机系统负责识别通道,你负责确认两头都设置正确。