WM虚拟机映射本地文件共享,最可靠的方式是在虚拟机设置中启用共享文件夹、确认VMware Tools已安装,然后把宿主机目录映射成虚拟机内的网络驱动器或挂载点。 下面按“设置流程不生效排查速度优化磁盘映射选择”四块拆开说,全文以Windows宿主机加VMware Workstation环境为例,这类环境在中文技术圈常被简称为wm虚拟机。
wm虚拟机映射本地磁盘怎么设置?共享文件夹操作全流程
先区分两个方向:共享文件夹解决的是宿主机目录让虚拟机直接读写;虚拟磁盘映射解决的是虚拟机磁盘文件在宿主机上以盘符形式打开,日常开发、传输文档、调试代码,优先用共享文件夹,不必来回拷贝。
前置条件:VMware Tools必须安装好
共享文件夹依赖VMware Tools里的HGFS驱动,没有它,虚拟机设置里就算启用共享,客户机里也看不到目录。
- Windows客户机:启动虚拟机后,点击VMware菜单“虚拟机安装VMware Tools”,进入客户机后运行安装程序。
- Linux客户机:多数发行版建议直接装open-vm-tools,比光盘自带版本更省事,Ubuntu/Debian执行
sudo apt install open-vm-tools。
据VMware官方文档说明,共享文件夹通过HGFS协议在宿主机与客户机之间传输,不依赖传统SMB网络,因此虚拟机即使没有网络也能使用共享目录。
宿主机开启共享并添加目录
关闭虚拟机或保持运行都可以,但建议在关机状态下改动设置,避免部分Linux客户机不即时识别。
- 打开虚拟机设置,进入“选项共享文件夹”。
- 勾选“总是启用”或“在每次开机时启用”。
- 点“添加”,选择宿主机目录,例如
D:workshared。 - 给共享目录取一个短名称,如
share,虚拟机内会通过这个名称访问。 - 如果只是给虚拟机读权限,勾选“只读”;需要双向修改就不要勾选。
在虚拟机内映射为本地盘符
Windows虚拟机完成设置后,通常会自动出现一个网络位置,路径形如\vmware-hostshare,如果想固定盘符,可以手动映射:
- 打开“此电脑”,点击“映射网络驱动器”。
- 驱动器选
Z:,文件夹输入\vmware-hostshare。 - 勾选“登录时重新连接”,点完成。
- 不想用图形界面,也可以在命令提示符执行
net use Z: \vmware-hostshare /persistent:yes。
Linux虚拟机不出现盘符,需要手动挂载:
- 创建挂载点:
sudo mkdir -p /mnt/hgfs - 临时挂载:
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other - 只挂载某个共享目录:
sudo vmhgfs-fuse .host:/share /mnt/hgfs -o allow_other - 开机自动挂载,在
/etc/fstab追加一行:.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
wm虚拟机文件共享不生效怎么办?按这个顺序排查
这是搜索量很高的场景,共享文件夹配完,客户机里却看不到、打不开或提示权限不足,多数情况下不是配置错,而是依赖组件没就位,按下面顺序检查,比随机试错效率高。
先看VMware Tools是否真的运行
Windows客户机右下角托盘应有VMware Tools图标;Linux执行systemctl status open-vm-tools或vmware-toolbox-cmd -v,如果版本过旧或安装失败,共享目录会出现“网络路径找不到”一类提示,卸载后重装同版本工具即可。
检查共享文件夹开关状态
虚拟机设置里“选项共享文件夹”不能停留在“已禁用”,有些人在虚拟机运行时添加共享,但选了“仅本次”,重启后自然消失,确认状态为“总是启用”,并且共享目录名称没有中文空格或特殊符号。
Windows客户机不要与SMB共享混淆
\vmware-hostshare是HGFS通道,不走网络发现,客户机里打不开时,不要先去开SMB 1.0或网络发现,那些针对的是局域网SMB共享,先打开“此电脑网络VMware Shared Folders”,如果这里有内容但Z盘没出现,就是盘符映射问题;如果这里也空白,回到VMware Tools排查。
Linux客户机先查挂载命令报错
如果/mnt/hgfs为空,运行lsmod | grep vmhgfs看内核模块有没有加载,没有输出时执行sudo modprobe vmhgfs,若报错提示fuse: device not found,说明FUSE组件未安装,Debian系执行sudo apt install fuse,普通用户访问/mnt/hgfs提示权限不足,需要取消/etc/fuse.conf中user_allow_other的注释,并确认挂载参数带了allow_other。
杀毒软件与权限拦截
Windows宿主机上的杀毒软件实时扫描共享目录,可能让客户机第一次打开很慢甚至超时,临时关闭该目录的实时扫描,或把共享路径加入排除列表,宿主机目录如果放在需要管理员权限的位置,如
C:Program Files下,也可能导致只读或拒绝写入。
虚拟机共享文件夹映射成本地磁盘与虚拟磁盘映射怎么选
里说的“映射成本地磁盘”,在不同操作里指代两种完全不同的功能,选错方法会浪费时间,也容易误操作。
| 对比项 | 共享文件夹映射成本地磁盘 | 虚拟磁盘文件映射到宿主机 |
|---|---|---|
| 适用方向 | 宿主机目录给虚拟机用 | 虚拟机磁盘文件给宿主机打开 |
| 依赖条件 | VMware Tools、HGFS驱动 | 不需要Tools,但要关闭或暂停虚拟机 |
| 适合任务 | 代码同步、文档编辑、跨系统传小文件 | 提取虚拟机内数据、离线查看磁盘 |
| 实时性 | 高,保存即可见 | 低,映射后只读为主 |
| 风险 | 虚拟机内恶意程序可能改宿主机文件 | 有快照时直接映射可能失败或损坏 |
行业共识认为,共享文件夹适合小文件频繁读写,不适合作为数据库文件、大型视频素材的长期存储目录;大文件或整盘导出更推荐使用虚拟机自带的虚拟磁盘映射功能。
虚拟磁盘映射到宿主机的正确步骤
- 关闭目标虚拟机,确认没有挂起状态。
- 在VMware主界面点击“文件映射虚拟磁盘”。
- 选择
.vmdk文件,点下一步。 - 勾选“只读模式”可避免破坏数据;取消只读时,确保虚拟机没有占用该磁盘。
- 映射完成后,宿主机“此电脑”会出现新盘符,若提示“需要格式化”,多数是磁盘类型不受支持或存在快照,先把快照合并后再试。
wm虚拟机和主机共享文件速度慢怎么办
大量小文件通过共享文件夹传输偏慢,是HGFS机制的正常表现,不一定是安装错误,HGFS优先保证兼容性和实时性,吞吐量不如同机直读。
提升共享文件读写速度的可操作项
- 把共享目录放在固态硬盘上,机械盘加杀毒扫描会让小文件读取明显变慢。
- 在宿主机杀毒软件中排除共享目录,关闭实时监控。
- 大文件不建议用共享文件夹长期读写,可以先复制到虚拟机本地盘处理,完成后再拷回。
- 如果需要持续高速双向访问,可以改用桥接网络加Windows SMB共享,虚拟机和宿主机IP互通后,在虚拟机内访问宿主机共享路径,速度上限会高于HGFS。
- 对Linux客户机,挂载时避免使用
allow_other之外的多余参数,并确认宿主机目录所在分区没有磁盘错误。
虚拟机映射本地磁盘打不开的常见原因
这个长尾需求通常发生在用户把.vmdk映射到宿主机后,新盘符无法访问,几个典型原因如下:
- 虚拟机不是正常关机,磁盘有未写入数据,映射后文件系统处于不一致状态。
- 虚拟机存在快照,当前差异数据在其他文件中,映射基础盘只能看到旧内容或直接不可读。
- 磁盘为2TB以上且分区表为MBR,宿主机系统无法直接识别。
- 加密虚拟机磁盘未提供密码,映射时不会自动解开。
- macOS或Linux宿主机读取NTFS需要第三方工具,只读风险低,写入风险高。
处理时先关闭虚拟机并删除快照,再映射;如果盘符出现但无文件,取消映射后检查磁盘文件是否被独占,对于Linux宿主机,只读映射NTFS多数只能通过ntfs-3g完成,不要直接写数据。
Q&A:wm虚拟机映射本地文件共享常见疑问
wm虚拟机映射本地文件夹后为什么还是只读?
先查共享设置里的“只读”有没有勾选,如果没勾选,再看宿主机目录本身的安全权限,Windows宿主机目录如果对当前用户只有读取权限,虚拟机写入时也会失败,Linux宿主机还要检查目录属主和掩码,必要时执行chmod 775或把VMware运行用户加入目录属组。
虚拟机共享文件夹映射成本地磁盘后怎么取消?
Windows客户机里右键映射出来的Z盘,选择“断开连接”,Linux客户机执行sudo umount /mnt/hgfs临时卸载,想永久移除,编辑/etc/fstab删掉对应行,再在虚拟机设置的共享文件夹列表中删除该目录,宿主机映射虚拟磁盘取消时,打开“文件映射虚拟磁盘”,选择对应盘符后点“断开映射”,确认虚拟机不在运行即可。
用wm虚拟机映射本地磁盘会不会增加宿主机文件丢失风险?
只要共享目录开启写入,虚拟机内运行的程序就拥有该宿主机目录的写权限,虚拟机中毒、误删或脚本失控,宿主机的共享目录会直接受影响,降低风险的做法是默认只读、给共享目录单独建子文件夹、不在宿主机上对共享目录做永久备份,虚拟机关机后共享关系不会自动断开,设置里的共享列表会一直保留到手动移除。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/660882.html





