虚拟机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/%e8%99%9a%e6%8b%9f%e6%9c%balinux%e5%a6%82%e4%bd%95%e6%8c%82%e8%bd%bdhgfs%e5%85%b1%e4%ba%ab%e6%96%87%e4%bb%b6%e5%a4%b9%ef%bc%9f/

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

相关推荐

  • 独立位面服务器有哪些,哪个服务器人气最高?

    《魔兽世界》的独立位面并不是独立的物理服务器,而是服务器内部的一种镜像系统, 玩家常说的“去独立位面打材料”或“找独立位面团本”,实际上是在同一台服务器里,通过系统机制或玩家行为触发的平行空间,讨论“独立位面有哪些服务器”,本质是在讨论哪些服务器的人数、阵营结构、野外生态更适合触发和利用位面,独立位面是怎么“出……

    2026年10月17日
    100
  • Xshell是什么软件?为什么大家都在用Xshell

    Xshell 是一款由 NetSarang 公司开发的专业终端模拟器和 SSH 客户端软件,主要用于通过 SSH、SFTP 等协议安全地连接和管理远程服务器,因其界面友好、稳定性高且对中文支持极佳,成为国内运维人员首选的远程管理工具之一,在云计算和 DevOps 日益普及的今天,服务器管理不再局限于本地机房,而……

    2026年6月23日
    1500
  • 家用组播服务器有哪些推荐,家庭组播服务器怎么搭建?

    家用组播服务器本质上是一台安装了特定转发软件的Linux设备,最常见的形态是刷了OpenWrt的软路由、NAS或旧迷你主机,核心作用是把IPTV组播信号转成普通HTTP流,让电视、手机、电脑都能直接看直播频道,这句话里的两个关键词——组播和转单播,就是理解家用组播服务器的钥匙,组播是运营商IPTV的底层传输方式……

    2026年10月4日
    100
  • WordPress和Wix哪个建站更好?WordPress和Wix区别对比

    对于绝大多数追求极致性价比、内容深度和长期资产积累的用户,WordPress是无可替代的首选;而Wix则更适合那些希望“开箱即用”、对代码零基础且预算有限的个人创作者或小型展示型网站,在2026年的数字营销环境中,建站工具的选择不再仅仅是技术偏好问题,而是关乎业务增长效率的战略决策,WordPress作为全球市……

    2026年6月19日
    3300
  • Shopify适合做哪些国家?跨境电商新手选哪个市场好

    Shopify最适合北美、欧洲及大洋洲等高消费力、高数字化普及率的成熟市场,同时也能通过本地化运营有效拓展东南亚和拉美等新兴潜力市场,选择正确的目标市场是跨境电商成功的关键第一步,Shopify作为全球领先的独立站建站平台,其底层逻辑和生态体系天然契合那些拥有完善电子支付基础设施、成熟物流配送网络以及较高消费者……

    2026年6月20日
    2700
  • 广州跨境电商大带宽租用怎么解决海外访问慢,哪家好?

    广州跨境电商做海外生意,网站和独立站访问慢的根子在跨境链路上,租用广州本地BGP大带宽是当前性价比最高、且能直接解决海外访问延迟的务实方案,别急着换服务器,先搞懂带宽、线路和机房这三个变量的关系,再下手也不迟,为什么广州跨境电商的海外访问总是慢半拍很多广州卖家把访问慢归咎于服务器配置,其实绝大多数情况是卡在链路……

    2026年8月11日
    1200
  • 整机柜服务器有哪些型号和品牌,哪个品牌好?

    整机柜的服务器有哪些?整机柜服务器就是把计算节点、存储、网络、散热甚至电源统一集成在一个标准机柜里的交付形态,主流类型包括计算型、存储型、GPU加速型和混合型,它不像传统方式那样逐台采购服务器再上架布线,而是以机柜为最小交付单元,开箱即用,下面从类型、场景、成本和选型四个角度拆开聊,整机柜服务器和传统服务器区别……

    2026年10月5日
    000
  • html怎样放大字体?网页字体变大变小的方法

    在HTML中放大字体最直接且符合现代标准的方法是使用CSS的font-size属性,配合相对单位(如rem或em)或视口单位(vw)来实现响应式缩放,而非直接修改HTML标签或依赖过时的表现属性,很多刚接触前端开发的朋友,或者在后台管理系统的富文本编辑器里折腾排版的运营人员,经常会遇到一个棘手的问题:文字太小……

    2026年6月8日
    4700
  • SiteGround找不到人工客服怎么办?SiteGround联系人工客服方法

    SiteGround 的人工客服主要通过网站右下角的实时聊天窗口(Live Chat)获取,这是响应最快、最直接的渠道;若问题复杂或涉及账户安全,则需通过后台工单系统提交,通常会在24小时内收到专业工程师的详细回复,对于许多站长而言,遇到服务器宕机、SSL证书配置错误或数据库连接失败时,第一反应往往是寻找“人工……

    2026年6月21日
    1900
  • Web客户端是什么?如何搭建Web客户端

    Web客户端本质上是运行在浏览器中的应用程序,通过HTML、CSS和JavaScript技术栈构建,无需安装即可跨平台访问;搭建核心在于选择合适的前端框架(如Vue或React),配置构建工具(如Vite或Webpack),并部署至Nginx等Web服务器,很多人容易混淆“网站”和“Web客户端”的概念,传统的……

    2026年6月25日
    3600

发表回复

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