通过安装增强工具(VMware Tools 或 VirtualBox Guest Additions)启用共享文件夹功能,或者利用网络协议(如SMB/NFS)进行挂载,就能实现本地与虚拟机文件互通,关键在于选对适合你使用场景的方案。
共享文件夹方案:最直接的"文件互通"路径
虚拟机与本地主机之间传输文件,是几乎所有人都会遇到的操作需求,相比用U盘、网盘或远程桌面拖拽,共享文件夹是效率较高的一种方式,它的原理是让虚拟机直接读取宿主机上的某个文件夹,读写操作在后台自动完成数据转换,整个过程对用户透明。
VMware Workstation 下的共享文件夹配置
在VMware Workstation中配置共享文件夹,属于图形化操作,步骤比较清晰。
- 第一步:确认虚拟机已安装 VMware Tools,这是实现共享功能的基础组件,未安装时"共享文件夹"选项通常为灰色不可用状态。
- 第二步:打开虚拟机设置界面,进入"选项"选项卡,找到"共享文件夹"条目。
- 第三步:选择"总是启用",点击"添加"按钮,指定本地主机的目标文件夹路径,并设置虚拟机内的访问名称(即挂载名)。
- 第四步:根据需求勾选"启用此共享"和"只读"选项,如果只希望从虚拟机读取主机文件,建议勾选只读,避免误操作写入数据。
在虚拟机内访问共享文件夹的路径有一定规律,Linux客户机通常挂载在 /mnt/hgfs/ 目录下,Windows客户机则可以在"网络位置"或"此电脑"中看到映射的驱动器或文件夹(具体取决于VMware Tools版本)。
VirtualBox 的共享文件夹设置细节
VirtualBox(甲骨文公司的开源虚拟机软件)的配置逻辑与VMware类似,但部分交互有所不同,近年来的VirtualBox版本(特别是7.x系列)在共享文件方面的体验已有较大改进。
步骤如下:
- 在VirtualBox主界面选中目标虚拟机,点击"设置"。
- 进入"共享文件夹"选项卡,点击右侧的"添加共享文件夹"图标(黄色文件夹加号)。
- 选择本地路径,并在"共享名称"处填写一个简单好记的名字,shared"。
- 下方有一个"自动挂载"复选框,勾选后,虚拟机启动时会自动挂载该文件夹,同时建议不要勾选"只读分配",除非你的确不需要向该文件夹写入文件。
在VirtualBox中,Windows虚拟机的共享文件夹会以网络驱动器形式出现在"此电脑"中,盘符通常是

VBOXSVR 下的文件夹,Linux虚拟机则需要手动确认挂载点,一般情况下系统会自动挂载到 /media/ 目录下。
为什么配置了共享文件夹却看不到文件?
不少人在配置完成后发现自己找不到共享目录,行业内最常见的原因有以下几种:
- 增强工具(Guest Additions / VMware Tools)未安装或版本不匹配,这是出现频率最高的故障点,更新或重装增强工具一般能解决问题。
- 权限问题,宿主机上的共享文件夹路径如果放在了系统盘(如
C:\Users\Administrator\Desktop),有时会因为用户账户控制(UAC)或权限配置不当,导致虚拟机内无法正常访问,建议将共享文件夹设置在一个权限较低的位置,D:\share。 - 防火墙拦截,虚拟机内部的防火墙软件可能会拦截与共享相关的服务进程,特别是Linux下配置Samba时会遇到此类情况。
行业共识认为,多数情况下共享文件夹失效都与增强工具的安装完整性直接相关,建议遇到问题时优先重装对应版本的增强工具,再检查路径权限。
网络共享方案:适合复杂网络环境的文件互通
如果你使用虚拟机是为了模拟服务器环境,或者需要多台虚拟机之间相互传输文件,那么基于网络协议的共享方式会更具灵活性,这种方式不依赖VMware或VirtualBox的专有功能,而是使用通用的网络文件共享协议。
Windows主机与Linux虚拟机之间怎么共享文件?
Windows与Linux之间互传文件,最常用的网络协议有两种:SMB(Server Message Block)和 NFS(Network File System)。
SMB协议的兼容性较好,Windows和Linux都能够原生支持,操作思路如下:
- 在Windows主机上,将需要共享的文件夹设置为"共享",并赋予读取/写入的权限。
- 在Linux虚拟机中,通过命令行挂载该共享目录:
sudo mount -t cifs //主机IP/共享名 /mnt/windows_share -o username=你的Windows用户名,password=你的密码
以明文方式输入密码会在历史记录中留下痕迹,不建议在生产环境中长期使用,在测试环境或家中使用时问题不大。
NFS协议更适合Linux之间的共享,在宿主机上安装NFS服务并导出目录,虚拟机里直接挂载,它的性能相比SMB会好一些,但配置难度略有提升。

企业场景下的IT配置人员,往往会在多虚拟机互联时混合使用这两种协议,据行业内观察,SMB协议在实际使用中的占比明显高于NFS,因为它的跨平台兼容性更好,Windows、macOS、Linux三端都能友好接入。
本地与虚拟机文件互传速度慢的问题怎么解决?
如果你觉得通过共享文件夹传输大文件(例如几十GB的数据库备份文件)时速度偏慢,可以尝试以下优化思路:
- 调整虚拟机的网络模式为"桥接模式",共享文件夹不依赖网络,但网络共享方式受虚拟网卡类型影响较大,Intel E1000网卡在稳定性和性能方面表现均衡,VirtIO网卡性能更强,但需要额外驱动支持。
- 检查宿主机磁盘类型,固态硬盘(SSD)与机械硬盘(HDD)在持续读写上的性能差距较大,这一点属于硬件层面的基础因素。
- 如果只是传输单个超大型文件,也可以使用HTTP临时服务,在宿主机上启动一个简单HTTP服务器(Python或Node.js都可实现),虚拟机内用浏览器或wget下载,速度快且实现简单,但安全性稍弱。
总体来看,共享文件夹与网络共享并不冲突,二者可以互补。 日常办公文件用共享文件夹即可;模拟真实网络环境或搭建开发测试集群时,用SMB/NFS更符合实际工作流。
不同虚拟机产品在文件互通上的体验差异
很多人纠结VMware和VirtualBox哪个好用、哪个更适合文件共享,这个问题其实取决于你的使用场景。
| 对比维度 | VMware Workstation | VirtualBox |
|---|---|---|
| 共享文件夹功能成熟度 | 较高,集成度高 | 良好,但偶有兼容性小毛病 |
| 增强工具安装便利性 | 安装成功后一般较稳定 | 开源免费,但部分Linux发行版需手动编译模块 |
| 性能表现 | 同等配置下略占优势 | 对老旧硬件的适配较好 |
| 价格 | 商业软件,需购买授权 | 完全免费(个人使用而言) |
这里的核心观点是,你在意的如果是"稳定不出错",VMware的体验更舒畅;如果想要免费且持续更新,VirtualBox是更好的选择,对于配置较老、内存较小的电脑,VirtualBox在低负载下的响应速度让人满意。
有

一种特殊情况值得单独说明:如果你使用的是macOS作为宿主机,那么共享文件夹的路径和权限管理与Windows环境存在明显差异,macOS下需要额外关注"完全磁盘访问权限"问题,否则虚拟机工具可能无法正确访问某些主机目录,如果你所在地区或工作环境主要使用Apple产品,建议在选购虚拟机软件前仔细查阅官方文档中的macOS支持说明。
还有哪些文件互通方式值得了解?
除了共享文件夹和网络共享,以下两种方式也时常被使用:
- SSH/SFTP协议:适合Linux虚拟机间的运维操作,用
scp或sftp命令单文件传输,简单直接,对于大多数开发者来说,这种方式的普适性更高。 - 虚拟磁盘挂载:将虚拟机的vmdk或vdi磁盘文件直接挂载到宿主机上读取文件内容,这是一种离线操作方式,不适合频繁使用,但它有时能在虚拟机无法启动时救急。
个人经验是,如果你经常在两台机器之间交换代码或文档,建议把共享文件夹设为固定挂载点,同时辅以快捷方式或软链接,让日常路径习惯更加自然。
虚拟机配置映射并不神秘,安装增强工具、设置共享文件夹路径,再根据操作系统差异判断挂载位置,就完成了常用场景下的文件互通,复杂环境里,就交给网络共享协议去处理,每种方案各有侧重,没有唯一正确答案,但总有一款配置方案适合你的实际使用需求。
常见问题解答
问:虚拟机共享文件夹设置好了但里面是空的,是什么原因?
这通常是因为虚拟机内的系统还没有正确识别共享文件夹的挂载权限,先确认虚拟机工具已完全安装,然后检查宿主机共享文件夹是否包含"Everyone"或你当前系统用户的读取权限,在Linux虚拟机里,可以执行 ls /mnt/hgfs 查看是否有目录内容,如果仍然是空的,尝试重启虚拟机,让工具服务完全加载。
问:本地和虚拟机之间传输文件,哪种方式最安全?
从安全性角度看,SSH/SFTP协议更为稳妥,它默认进行加密传输,适合通过外网传输敏感文件,共享文件夹和SMB挂载虽然有便利性优势,但如果没有做好权限隔离,在虚拟网络内部被其他设备访问到的风险会稍高,对于多虚拟机在同一网段的场景,建议为SMB共享设置强密码,并为共享目录限定最小访问权限。