虚拟机 shared folders 的本质是把宿主机的一个目录挂载到虚拟机内部,让两边像访问本地磁盘一样读写;配置正确后,它比拖拽复制更稳定,尤其适合大文件和开发调试场景。
很多人在虚拟机里传文件,第一反应是拖拽或者复制粘贴,小文件还行,一旦遇到几个GB的日志、数据库备份或者项目代码,拖拽就容易卡死甚至损坏,虚拟机共享文件夹(shared folders)就是来解决这个痛点的,它不需要网络,不依赖U盘,直接让宿主机和虚拟机之间建立一条“本地通道”。
虚拟机共享文件夹怎么设置?先分清VMware和VirtualBox两条路
不同虚拟化平台的操作逻辑不一样,VMware Workstation/Player 和 VirtualBox 是最常见的两种,配置思路相似,但命令和挂载点有区别。
VMware Workstation共享文件夹配置步骤
- 确保虚拟机已安装 VMware Tools,Windows客户机通常自带;Linux客户机建议安装
open-vm-tools和open-vm-tools-desktop,命令:sudo apt install open-vm-tools open-vm-tools-desktop。 - 关闭虚拟机,在虚拟机设置里找到 选项 -> 共享文件夹,选择“总是启用”,然后添加宿主机目录,命名一个简短英文名,
shared。 - 开机后,Linux客户机执行
vmware-hgfsclient查看共享名,如果没有输出,说明共享文件夹没启用成功。 - 手动挂载:
sudo mkdir -p /mnt/hgfs && sudo mount -t vmhgfs .host:/shared /mnt/hgfs,新版VMware常用vmhgfs-fuse:sudo vmhgfs-fuse .host:/shared /mnt/hgfs -o allow_other。 - 自动挂载写入
/etc/fstab:.host:/shared /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0,保存后执行sudo mount -a测试。
VirtualBox共享文件夹配置步骤
- 启动虚拟机,在菜单栏点击 设备 -> 安装增强功能,Linux客户机挂载ISO后运行
sudo ./VBoxLinuxAdditions.run,Windows客户机直接运行安装程序。 - 关机,在虚拟机设置里找到 共享文件夹,添加宿主机路径,命名如
vboxshare,勾选 自动挂载 和 固定分配。 - Linux客户机自动挂载默认出现在
/media/sf_vboxshare,如果看不到,把当前用户加入vboxsf组:sudo usermod -aG vboxsf $USER,然后重启。 - 手动挂载:
sudo mkdir -p /mnt/share && sudo mount -t vboxsf vboxshare /mnt/share。 -

Windows客户机自动挂载为网络驱动器,路径是
\vboxsvrvboxshare,命令行映射:net use Z: \vboxsvrvboxshare /persistent:yes。
共享文件夹自动挂载失败怎么办?常见原因与修复
这个场景非常普遍,多数情况下不是功能坏了,而是配置细节漏了。
- 增强功能或VMware Tools没装,或者版本与虚拟机不匹配,重新安装一次通常能解决。
- VirtualBox的“自动挂载”没勾选,或者共享名里带了空格、中文,改成纯英文短名。
- 挂载点不存在或权限不足,临时测试:
sudo mkdir -p /mnt/share && sudo chmod 777 /mnt/share。 - fstab条目写错,用
sudo mount -a看报错信息,根据提示修正。 - 内核模块没加载,VirtualBox检查
lsmod | grep vboxsf,没有就sudo modprobe vboxsf,VMware检查lsmod | grep vmw_vmci。 - SELinux或AppArmor拦截,查看
dmesg | tail,必要时设置宽容模式测试。 - 对于VMware,
vmware-hgfsclient无输出,回到设置里确认“总是启用”而不是“仅在该虚拟机启动时启用”。
虚拟机共享文件夹和拖拽复制哪个更靠谱?场景对比与性能分析
这是很多人纠结的问题,直接看对比。
| 对比项 | 共享文件夹 | 拖拽复制 | 剪贴板共享 |
|---|---|---|---|
| 大文件传输 | 稳定,接近本地磁盘速度 | 容易中断,无进度 | 不支持 |
| 文件权限 | 可设置uid/gid、只读 | 无 | 无 |
| 跨平台 | 需装工具,但成熟 | 需装工具 | 需装工具 |
| 适用场景 | 开发、日志、数据库、备份 | 临时小文件 | 文本复制 |
| 速度 | 较高,取决于磁盘和驱动 | 较低,受UI限制 | 极低 |
业内专家指出,共享文件夹在持续读写时表现更好,因为它走的是虚拟化专用通道,拖拽复制依赖图形界面,传输大文件时容易因为内存或UI卡顿而失败。
性能优化实操
- VirtualBox中勾选 固定分配,避免每次启动临时挂载。
- 如果使用KVM/QEMU,优先考虑 virtiofs,Linux 5.4以上内核支持,命令示例:
virtiofsd --socket-path=/tmp/vhostqemu -o source=/host/dir。 - 关闭宿主机杀毒软件对共享目录的实时扫描,Windows Defender可以添加排除项。
- 避免直接在共享文件夹里编译大型项目,先复制到虚拟机本地磁盘,编译完再同步回去。
- 调整挂载选项,VirtualBox可加
dmode=775,fmode=664,VMware可加allow_other。

不同系统下虚拟机共享文件夹的路径与权限处理
路径写错是新手最常见的坑,下面按客户机系统分类。
Windows客户机访问共享文件夹路径
- VMware:打开文件资源管理器,输入
\vmware-hostShared Folders,如果需要映射驱动器:net use Z: \vmware-hostShared Foldersshared。 - VirtualBox:输入
\vboxsvrvboxshare,映射命令:net use Z: \vboxsvrvboxshare /persistent:yes。 - 注意:Windows客户机不需要开启网络发现,但需要确保增强功能服务正在运行。
Linux客户机权限与自动挂载
- VirtualBox自动挂载点:
/media/sf_共享名,手动指定权限:sudo mount -t vboxsf -o uid=1000,gid=1000,dmode=775,fmode=664 vboxshare /mnt/share。 - 写入
/etc/fstab:vboxshare /mnt/share vboxsf uid=1000,gid=1000,dmode=775,fmode=664 0 0。 - VMware自动挂载点:
/mnt/hgfs/共享名,若不存在,执行sudo mkdir -p /mnt/hgfs && sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other。 - 避免用root读写导致普通用户无法访问,挂载时指定uid和gid最省事。
macOS客户机
- 安装VMware Tools后,共享文件夹位于
/Volumes/VMware Shared Folders/共享名,权限问题可以用chmod调整,VirtualBox对macOS客户机支持较弱,建议用网络共享替代。
虚拟机共享文件夹价格与替代方案?免费与付费场景
不是所有场景都适合共享文件夹,也不是所有版本都免费。
免费方案
- VirtualBox:完全免费,共享文件夹功能稳定,适合个人学习和中小项目。
- VMware Workstation Player:个人使用免费,共享文件夹功能可用,但设置界面比Pro简化。
- Linux KVM/QEMU:配合virtiofs免费,性能好,适合熟悉命令行的用户。
付费方案
- VMware Workstation Pro:数百元人民币不等,提供更完整的共享文件夹管理和快照功能。
- Parallels Desktop:年订阅制,主要面向macOS用户,共享文件夹体验好。
- 企业级vSphere/ESXi:不直接提供共享文件夹,通常用NFS或SMB替代。
替代方案
- SMB/CIFS:宿主机开共享,虚拟机挂载
mount -t cifs //host/share /mnt -o user=xxx
。
- NFS:Linux之间更高效。
- SSHFS:
sshfs user@host:/path /mnt/remote,适合远程开发。 - 云盘同步:跨设备但延迟高,不适合频繁读写。
据VMware官方文档描述,共享文件夹适合本地开发、测试和日志收集,行业共识认为,它不适合直接跑生产数据库,因为性能损耗和权限模型不如裸机。
虚拟机共享文件夹安全与地域差异
安全容易被忽略,共享文件夹如果配置不当,可能让虚拟机里的恶意软件直接读写宿主机文件。
权限最小化
- 不要共享宿主机根目录或用户主目录,只共享项目子目录。
- VirtualBox可以勾选 只读,需要写入时再临时放开。
- 定期检查
/etc/fstab和自动挂载配置。
加密与审计
- 共享文件夹本身不加密,敏感数据建议放在VeraCrypt容器里再共享。
- 审计:Linux客户机用
auditd监控挂载点访问,命令:sudo auditctl -w /mnt/share -p rwxa。
地域差异
国内用户以VMware和VirtualBox为主,云主机上的嵌套虚拟化很少用共享文件夹,多走对象存储或内网NAS,近年来,开发环境容器化后,共享文件夹更多用于本地调试。
虚拟机 shared folders 的核心价值是稳定和权限可控。只要装好增强工具、写对挂载命令、设好用户权限,它就能成为宿主机和虚拟机之间最顺手的文件通道。 遇到自动挂载失败,优先检查共享名、挂载点和fstab三处。
Q&A:虚拟机共享文件夹常见问题解答
虚拟机共享文件夹怎么设置才能开机自动挂载?
VMware:在 /etc/fstab 加入 .host:/shared /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0,VirtualBox:确保勾选自动挂载,用户加入 vboxsf 组,或写fstab vboxshare /mnt/share vboxsf uid=1000,gid=1000 0 0,执行 sudo mount -a 验证。
虚拟机共享文件夹和拖拽复制哪个更快?
共享文件夹通常更快,因为它走虚拟化专用通道,不依赖图形界面,拖拽复制大文件容易中断,且没有进度显示,实际速度取决于宿主机磁盘类型和增强工具版本。
为什么虚拟机共享文件夹看不到文件?
先运行 vmware-hgfsclient 或 VBoxControl sharedfolder list 确认共享名,然后检查增强工具是否安装、挂载点是否为空、权限是否足够,如果挂载点有文件但列表为空,尝试重新挂载并指定uid和gid。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/910498.html


评论列表(1条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于共享文件夹的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!