虚拟机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=1000gid=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 ServiceVMware 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

相关推荐

  • 腾讯云一键HTTPS有啥优势?如何免费配置SSL证书

    腾讯云一键HTTPS功能通过自动化证书部署与配置优化,彻底解决了传统SSL证书申请繁琐、配置复杂及维护成本高的问题,让网站安全升级变得像开关灯一样简单且高效,在数字化转型的深水区,网站安全性不再是可选项,而是必选项,过去,很多站长面对HTTPS升级时,往往因为不懂技术细节、害怕配置出错导致网站宕机,或者被高昂的……

    2026年6月21日
    4200
  • 如何用插件备份WooCommerce网站?WordPress网站数据备份方法

    使用插件备份WooCommerce网站最稳妥的方式是安装UpdraftPlus或All-in-One WP Migration,通过设置自动备份计划并定期将备份文件上传至云端存储,从而确保在数据丢失或网站被黑时能快速恢复,WooCommerce网站承载着店铺的核心资产,包括商品数据、订单记录、客户信息以及自定义……

    2026年6月24日
    2700
  • HTML如何调用网站数据?前端动态获取数据的方法

    HTML调用网站数据的核心在于通过JavaScript发起异步请求(AJAX/Fetch)获取JSON或XML格式的数据,并结合DOM操作动态渲染页面,从而实现前后端分离与实时数据更新,无需刷新整个页面即可提升用户体验,在2026年的Web开发语境下,静态网页已难以满足用户对实时交互的需求,开发者不再仅仅依赖服……

    2026年6月5日
    4400
  • 互联网BI数据分析工具怎么用?有哪些好用的免费BI工具

    互联网BI数据分析工具的核心价值在于将杂乱数据转化为可执行的商业洞察,企业应优先选择具备实时协作能力、低代码拖拽操作及强大数据集成能力的平台,以最低的学习成本实现从“看数据”到“用数据”的跨越,在数字化浪潮席卷各行各业的今天,数据已不再是冰冷的数字,而是驱动决策的血液,面对海量的业务数据,许多企业陷入了“有数据……

    2026年6月2日
    4500
  • AlmaLinux命令行怎么创建用户?linux创建新用户命令

    在AlmaLinux服务器中,通过终端执行useradd命令即可快速创建新用户,随后使用passwd命令设置密码并赋予sudo权限,这是保障服务器安全与多用户协作的基础操作,很多刚接触Linux系统的朋友,面对黑底白字的终端界面往往会感到一丝陌生,创建用户并不像Windows那样点击鼠标即可完成,它更像是一次严……

    2026年6月21日
    1700
  • 互联网公司数据安全管理制度怎么制定?企业数据安全管理规范有哪些

    互联网公司数据安全管理的核心在于建立“全生命周期”的防护体系,将合规要求嵌入业务流,而非仅靠事后补救,在数字化浪潮席卷全球的当下,数据已成为互联网公司的核心资产,同时也是最大的风险敞口,许多企业误以为购买了防火墙和加密软件就万事大吉,实则不然,真正的安全不是堆砌设备,而是构建一套动态、立体且符合法规要求的管理体……

    2026年6月2日
    3800
  • 广州60g高防dns解析怎么做?广州DNS高防解析配置教程

    广州60g高防dns解析的核心在于构建“高防DNS+智能调度+源头清洗”的三位一体防御体系,通过将域名解析指向具备60G以上清洗能力的高防节点,并配合负载均衡策略,实现流量攻击时的自动切换与清洗,这是保障业务连续性的最高效路径, 核心防御逻辑:解析与清洗的深度联动传统DNS解析仅负责将域名指向服务器IP,而在高……

    2026年4月1日
    9100
  • 杭州服务器升降配置费用怎么算才划算?,多少钱?

    杭州服务器升降配置费用按“剩余时长折算差价”计算,升配补差价、降配退差价,具体金额取决于实例规格、剩余天数与计费方式,无论是企业官网迁到杭州节点,还是个人开发者调整ECS实例,搞清楚升降配的计费逻辑,能避免预算超支,也能防止退款缩水,升配费用怎么算:按天折算补差价升配的核心逻辑:补足剩余周期的差价杭州服务器升配……

    2026年8月10日
    1300
  • 广州DDOS怎么做?广州DDOS防御公司哪家好

    在广州地区应对DDoS攻击,最核心的策略在于构建“云端清洗+本地加固+应急响应”的三位一体防御体系,单纯依赖本地硬件设备已无法抵御现代T级流量攻击,企业必须通过高防IP牵引流量,结合专业的安全运维服务,才能确保业务连续性, 广州企业面临的DDoS攻击现状与挑战广州作为华南地区的互联网枢纽,电商、游戏、金融类企业……

    2026年4月1日
    10900
  • 广州drop数据库数据恢复怎么操作?误删数据库如何快速找回数据

    广州drop数据库数据恢复的成功率取决于误操作后的第一时间的处置措施,立即停止写入操作并断开网络连接是保护现场、防止数据被覆盖的核心关键,一旦数据文件所在的存储扇区被新数据覆盖,任何恢复手段都将失效,对于企业而言,Drop、Truncate等误删操作虽然致命,但通过专业的底层解析技术,绝大多数情况下可以实现完整……

    2026年3月31日
    8400

发表回复

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