如何创建 VMware 共享文件夹
在 VMware 中创建共享文件夹对于在主机与来宾操作系统(VM)之间高效交换文件至关重要。无论你是在管理复杂的开发环境、运行 Linux/Windows 来宾,还是自动化构建,共享文件夹都能简化你的工作流程。本指南涵盖了 VMware Workstation Pro 和 VMware Fusion 的高级设置与故障排除技巧。
步骤 1:在 VMware UI 中创建共享文件夹
打开 VMware Workstation / Fusion
选择你的 VM → 转到 Settings
点击 Options 选项卡 → 选择 Shared Folders
启用:
✔️ Always enabled(推荐)
点击 Add… 并按照向导操作:
在 host 机器上选择一个文件夹
为其指定一个名称(例如,Shared)
如有需要,标记为 Read-only
点击 Finish,然后点击 OK 应用。
步骤 2:安装 VMware Tools(来宾端)
VMware Tools 可在来宾 OS 内启用共享文件夹机制。
在 Linux 来宾上(Ubuntu/Debian/CentOS)
sudo apt updatesudo apt install open-vm-tools open-vm-tools-desktop -y然后重启 VM:
sudo reboot在 Windows 来宾上
从 VMware 菜单:VM > Install VMware Tools
挂载虚拟 CD → 运行 setup.exe
安装后重启来宾系统
步骤 3:挂载共享文件夹(Linux 来宾)
重启后,检查 VMware Tools 是否检测到共享文件夹:
vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other要挂载特定文件夹:
sudo mkdir -p /mnt/hgfs/Shared
sudo vmhgfs-fuse .host:/Shared /mnt/hgfs/Shared -o allow_other如果未找到 vmhgfs-fuse,请安装它:
sudo apt install open-vm-tools open-vm-tools-desktop -y在启动时自动挂载(Linux)
编辑 /etc/fstab:
.host:/Shared /mnt/hgfs/Shared fuse.vmhgfs-fuse allow_other,defaults 0 0可选:确保 /mnt/hgfs/Shared 目录在启动时存在
添加到 crontab(以 root 身份):
@reboot mkdir -p /mnt/hgfs/Shared && mount -a在 Windows 来宾中访问共享文件夹
重启后,转到:
This PC > Network Locations或者直接导航到:
\vmware-hostShared Folders你可以将其映射为驱动器盘符:
右键单击 This PC → Map Network Drive
使用 \vmware-hostShared FoldersYourFolder
选择驱动器盘符(例如,Z:)→ ✔️ 登录时重新连接
🔍 高级故障排除
1. 在 Linux 中看不到共享文件夹?
确保已安装 vmhgfs-fuse 且 VMware Tools 正在运行:
重启 vmtoolsd:
再次尝试手动挂载。
2. 文件权限问题?
使用 allow_other 标志并设置适当的权限:
sudo vmhgfs-fuse .host:/Shared /mnt/hgfs/Shared -o allow_other,umask=00223. 共享文件夹在 Windows 中不显示?
重新安装 VMware Tools
检查防火墙/杀毒软件
确保在 VMware UI 中已启用该文件夹
检查 Services.msc → VMware Tools 是否正在运行
开发者与高级用户提示
使用共享文件夹来:
在 host 与来宾之间同步构建产物
共享脚本、ISO 文件、配置
在 host 上运行代码编辑器,在来宾中编译/测试
将 rsync 或 inotify 与共享文件夹结合用于 live file sync
对于持久化开发环境,将共享文件夹挂载到 VM 内运行的 Docker 容器中
结论
VMware 中的共享文件夹通过在 host 与来宾系统之间提供无缝集成来提升生产力。通过正确安装 VMware Tools 和 vmhgfs-fuse,你可以从任何来宾 OS 内可靠且高性能地访问 host 资源。自动化挂载过程并调整权限,使此设置非常适合日常开发、自动化和跨平台工作流程。
此设置还可在环境之间传输项目文件、日志或产物时最大限度减少阻力。它允许开发者直接在共享代码库上工作,而无需重复同步操作,从而加快迭代周期。最终,它提供了一个流畅、高效且高度灵活的环境,使初学者和高级虚拟化用户都受益。


