虚拟机Linux如何挂载hgfs共享文件夹?

虚拟机Linux挂载hgfs共享文件夹,核心就一条命令:vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000,但前提是VMware Tools装好了、共享目录配好了,否则报错no such device会让你怀疑人生。
不管你是Ubuntu还是CentOS,这篇文章把从配置到排错的完整路径捋一遍,照着做就能通。

挂载hgfs前,先确认这两个前提

vmware tools是否安装完整

hgfs是VMware虚拟机和宿主机之间的文件共享协议,靠的是vmware-tools或者开源版的open-vm-tools提供驱动,没装工具,系统里连/dev/hgfs都不存在,挂载命令自然直接失败。

VMware  CentOS 7虚拟机 挂载共享文件夹配置自动挂载
加载中
VMware CentOS 7虚拟机 挂载共享文件夹配置自动挂载

检查方法很简单,在终端输入:

vmhgfs-fuse --version

如果能输出版本号,说明fuse驱动在位,如果提示command not found,分两种情况处理:

  • Ubuntu/Debian系:执行sudo apt install open-vm-tools open-vm-tools-desktop,装完重启虚拟机。
  • CentOS/RHEL系:执行sudo yum install open-vm-tools,同样重启。

这里给一个容易踩的坑:很多教程让你去VMware菜单里点“重新安装VMware Tools”,然后用tar解压、跑perl脚本,这是老黄历了,近年来的发行版仓库里都有open-vm-tools,直接apt或yum装,兼容性反而更好,不用折腾内核模块编译。

共享文件夹是否已在VMware里配置

装了工具还得让VMware知道你要共享哪个目录,操作路径在虚拟机的虚拟机设置里:

  1. 关机状态下,右键虚拟机标签,选“设置”。
  2. 切到“选项”选项卡,找到“共享文件夹”。
  3. 选择“总是启用”,点“添加”按钮。
  4. 向导里指定宿主机路径和虚拟机内的挂载名,名称建议用英文小写,别带空格。
  5. 确定后开机。

这个配置很容易被忽略的细节是:添加完共享目录后,建议把虚拟机完全关机再开机,而不是重启,有些版本的VMware在热重启后不会刷新hgfs配置,导致内部看不到共享目录。

手动挂载hgfs共享文件夹:命令与参数详解

查看共享目录是否被识别

先用这条命令确认VMware已经把共享目录交给了虚拟机:

vmware-hgfsclient

如果输出你刚才设置的共享名(比如

虚拟机Linux如何挂载hgfs共享文件夹?

share),说明链路通了,如果这条命令报错或没输出,说明上面两个前提没做好,回头查。

标准的挂载命令

hgfs的挂载点习惯上放在/mnt/hgfs,你可以自定义,但建议保持传统。

第一步,创建挂载目录:

sudo mkdir -p /mnt/hgfs

第二步,执行挂载:

sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=$(id -u) -o gid=$(id -g)

拆解一下这条命令的参数:

  • .host:/:表示宿主机上所有共享的根路径,如果你想只挂载某一个共享目录(比如名字叫share),写成.host:/share。
  • -o allow_other:允许非root用户访问挂载点,不加这个,普通用户打开/mnt/hgfs会报权限拒绝,这是初学者最常遇到的坑。
  • -o uid=$(id -u)和-o gid=$(id -g):把挂载点的属主设为当前用户,不加的话目录属于root,普通用户没写权限。

这一步做完,ls /mnt/hgfs应该能看到你配置的共享文件夹。挂载成功后,共享目录里的文件就和本地文件一样读写了。

Ubuntu挂载共享文件夹的权限细节

Ubuntu桌面版用户挂载后经常遇到“能看到文件夹但打不开”的情况,现象是点击目录提示“不允许的操作”。

问题出在fuse模块的访问控制上,解决方式是在上面的挂载命令里追加-o nonempty和-o umask=0,完整命令如下:

sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=$(id -u) -o gid=$(id -g) -o umask=0

umask=0表示所有用户对该挂载点下的文件拥有全部权限,如果还是不行,检查一下宿主机共享文件夹的安全权限Windows宿主机上右键共享文件夹,确认“共享”选项卡里给到了“Everyone”读取/写入权限,这个很多人会漏掉。

CentOS挂载hgfs的注意事项

CentOS服务器版跟Ubuntu有个显著区别:默认不带fuse工具包,如果执行vmhgfs-fuse提示缺少libfuse,需要先装fuse支持:

sudo yum install fuse fuse-libs

装好后再跑挂载命令就能成功,CentOS上用systemd管理服务是惯例,如果希望开机自动挂载,不建议直接改

虚拟机Linux如何挂载hgfs共享文件夹?

/etc/fstab,因为fstab在引导早期执行时网络和vmhgfs驱动未必就绪。

更稳妥的方法是用systemd服务脚本,创建/etc/systemd/system/mnt-hgfs.mount如下:

[Unit]
Description=Mount VMware Shared Folders
After=network.target
[Mount]
What=.host:/
Where=/mnt/hgfs
Type=fuse.vmhgfs-fuse
Options=allow_other,uid=1000,gid=1000,umask=0
[Install]
WantedBy=multi-user.target

然后依次执行:

sudo systemctl enable mnt-hgfs.mount
sudo systemctl start mnt-hgfs.mount

就能实现开机自动挂载,注意uid=1000和gid=1000要替换成实际用户的ID,查询方法用id <用户名>。

挂载失败排错:no such device和重启失效

no such device报错的原因和应对

这条报错的出现频率最高。当执行挂载命令提示fuse: device not found, try 'modprobe fuse' first或者no such device时,问题几乎都出在虚拟机工具未正确加载。

首选执行:

sudo modprobe fuse

这条命令手动加载fuse内核模块,如果提示modprobe: FATAL: Module fuse not found,说明内核头文件不匹配,常见于手动编译安装VMware Tools的发行版,此时卸载VMware Tools,改用open-vm-tools,重装后问题基本消失。

另一个原因是VMware Tools服务没启动,执行:

systemctl status vmtoolsd

状态不为active的话,用systemctl start vmtoolsd拉起来,再挂载就正常了。

Windows宿主机防火墙挡路

如果你的共享目录在挂载后能读但写入时卡死或者提示I/O错误,且宿主机是Windows,多半是Windows防火墙拦了VMware的hgfs端口。

在Windows防火墙高级设置里,放行VMware Authorization Service和VMware Tools相关进程,或者干脆把VMware的网络类型改为“专用”网络,Intel网卡驱动和VMware共享文件夹也有兼容性问题,已知的表现为大文件传输中断,这种情况更新VMware版本到15.5以上能缓解。

重启后挂载丢失

手动挂载只是临时生效,重启后就没了,这不奇怪,毕竟hgfs挂载默认不写持久化配置。

如果你的系统没有systemd(比如老版CentOS 6),退而求其次,把挂载命令写进

虚拟机Linux如何挂载hgfs共享文件夹?

/etc/rc.local,并确保这个文件有可执行权限:

sudo chmod +x /etc/rc.local

然后编辑它,在exit 0前加入挂载命令。

性能优化与使用建议

hgfs的性能不如virtiofs和NFS,这是架构决定的,大文件拷贝时,hgfs的吞吐量受限于fuse的用户态转发机制。

行业共识认为,hgfs适合小文件、日常代码同步和配置文件共享,如果你的需求是编译大型项目或者跑数据库,考虑以下替代方案:

  • NFS共享:在宿主机搭建NFS服务,虚拟机内通过NFS客户端挂载,性能比hgfs高约30%-50%,但搭建步骤更繁琐。
  • virtiofs:VMware Workstation 15.5及以上版本支持virtiofs,性能接近原生磁盘,但需要虚拟机内额外配置。

不过普通用户场景下,hgfs的便利性无可替代代码写一半,宿主机改了文件,虚拟机里立即能看到,双向实时同步,比手动scp或者U盘拷贝体验好得多。

建议创建共享目录时,把大文件单独建一个共享,用冷备方式处理,别混在代码目录里,hgfs对目录内文件数量有轻微的性能衰减,上万个小文件的目录首次遍历会卡顿。

最后收束核心观点:hgfs挂载并不难,90%的问题出在VMware Tools没装好和挂载参数不对这两个环节,先把vmhgfs-fuse --version的结果确认了,再执行挂载命令,顺序不要颠倒。

常见问题Q&A

挂载hgfs后看不到共享文件夹里新加的文件?

hgfs默认是实时刷新的,但部分场景下fuse缓存导致新文件不可见,卸载后重新挂载可以解决,更优雅的方式是执行ls -f强制刷新目录缓存。

VMware共享文件夹和剪贴板共享有什么区别?

剪贴板共享走的是VMware Tools的拖拽协议,传输量小且不适合大文件;hgfs是文件系统级别的映射,直接支持读写和目录操作,两者互不替代,日常传文件优先用hgfs。

为什么Windows宿主机访问共享文件夹比Linux虚拟机访问更快?

因为hgfs的fuse驱动跑在虚拟机内,所有读写都要经过用户态和内核态的两次拷贝,宿主机访问不存在这层转换,所以速度差异明显,这不是配置问题,是架构设计使然。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/628287.html

赞 (0)
子域名需要单独做ICP备案吗?主域名备案后子域名能用吗?
上一篇 2026年9月6日 14:58
你知道域名最低能到几级吗?,顶级域名和二级域名有什么区别?
下一篇 2026年9月6日 14:58

相关推荐

  • HTML数据统计报表怎么做?如何制作HTML数据统计报表

    HTML数据统计报表的核心价值在于将晦涩的原始数据转化为可视化的业务洞察,通过结合CSS样式与JavaScript交互库,企业能以极低的开发成本实现高效的数据监控与决策支持,在数字化转型的深水区,单纯拥有数据已不足以构成竞争优势,如何呈现数据才是关键,传统的Excel报表虽然普及,但在移动端适配、实时刷新以及多……

    2026年6月12日
    5110
  • Debian Linux如何添加用户到sudo组?linux添加用户到sudo命令

    在Debian Linux中,只需使用 sudo usermod -aG sudo 用户名 命令即可将本地用户添加到sudo组,从而赋予其管理员权限,这个操作看似简单,但在实际的企业级运维或家庭服务器搭建场景中,权限管理的严谨性往往被忽视,很多新手用户直接修改 /etc/sudoers 文件,这不仅容易因语法错……

    2026年6月23日
    5200
  • 如何用Astra主题建立WordPress网站?WordPress建站教程

    使用Astra主题建立WordPress网站的核心在于:利用其极速轻量特性配合Elementor等页面构建器,通过“主题选项+全局设置”实现高效定制,无需编写代码即可搭建出符合SEO标准的专业站点,在WordPress生态中,Astra之所以能成为众多建站者的首选,并非偶然,它就像一位沉默而高效的工匠,不抢风头……

    2026年6月24日
    1600
  • HTML如何翻译成JS?html转javascript代码

    将HTML转换为JavaScript并非简单的文本替换,而是通过解析DOM结构、提取属性与内容,并利用JS动态生成或操作DOM元素的工程化过程,核心在于理解两者的语义映射关系,在2026年的前端开发语境下,静态HTML与动态JavaScript的边界日益模糊,许多开发者在构建复杂交互界面时,仍习惯于先写死HTM……

    2026年6月6日
    3300
  • 备案上传域名证书如何正确操作,注意事项有哪些?

    备案时上传域名证书,核心操作是登录域名注册商后台下载证书文件(通常为PDF或图片格式),确保域名持有人与备案主体完全一致,图片清晰完整后上传至备案系统对应位置,提交后等待审核即可,整个流程本身不复杂,但很多用户卡在“证书下载不到”“格式不对”“信息不匹配”这些细节上,以下按照实际操作顺序,把每一步怎么点、怎么传……

    2026年9月2日
    600
  • Divi AI图片生成怎么用?AI绘画工具推荐

    Divi AI图片生成工具通过内置的自然语言处理引擎,让用户无需设计基础,直接在网站编辑器中通过文字描述一键生成并编辑高质量网站素材,大幅缩短从创意到落地的时间周期,Divi AI图片生成:从创作到编辑,一键生成网站素材在数字化营销日益内卷的当下,视觉素材的匮乏往往是阻碍网站转化率提升的最大瓶颈,传统模式下,寻……

    2026年6月26日
    1600
  • 深圳直播电商机构租大带宽晚高峰画质如何稳,带宽怎么选

    放弃单线廉价带宽,转向BGP多线冗余,并配合编码参数调优与CDN预热,这三步缺一不可,晚高峰是直播电商的黄金时段,也是网络最拥堵的时刻,深圳作为全国直播电商的重镇,机构扎堆,机房互联互通压力极大,画质从1080P掉到720P甚至卡成PPT,损失的是真金白银的转化率,作为在深圳机房摸爬滚打多年的从业者,我把稳住画……

    2026年8月10日
    500
  • https证书服务器怎么配置?申请免费https证书流程

    配置HTTPS证书服务器是保障网站数据加密传输、提升搜索引擎排名及用户信任度的必要技术动作,其核心在于通过SSL/TLS协议实现浏览器与服务器之间的安全通信,在2026年的互联网环境下,网络安全已不再是可选配置,而是网站生存的底线,许多站长在部署证书时,往往只关注“如何安装”,却忽略了证书选型、服务器兼容性以及……

    2026年6月2日
    5700
  • 广州gpu服务器端口号查询,广州gpu服务器端口怎么看?

    在广州地区部署高性能计算集群或AI深度学习环境时,精准掌握服务器端口状态是保障业务连续性的基石,核心结论在于:高效的端口查询与管理并非单纯的指令操作,而是结合网络拓扑、安全策略及硬件特性的系统性工程,通过标准化的查询流程与专业的运维工具,用户可快速定位连接故障,确保数据传输通道的畅通无阻,在实际运维场景中,许多……

    2026年3月28日
    10000
  • 阿里云服务器如何挂载云盘?挂载数据盘详细步骤

    在阿里云ECS实例中挂载云盘,核心步骤是通过控制台创建云盘、绑定实例,并在操作系统内执行格式化与挂载命令,实现数据持久化存储,很多新手用户刚接触云服务器时,往往面临一个痛点:系统盘空间不足,或者数据备份缺乏独立的安全隔离区,这时候,挂载一块新的云盘就成了最直接的解决方案,相比于购买更大容量的系统盘,单独挂载数据……

    2026年6月19日
    2400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注