VMWare 以用户systemd形式自动挂载共享文件夹
800 字
4 分钟
VMWare 以用户systemd形式自动挂载共享文件夹
VMware 共享文件夹自动挂载指南
- 本文由Codex完成,本人仅在Fedora 43系统(niri+dms)上测试成功,其它系统请自行测试
适用场景:
- 宿主机使用 VMware
- 已在 VMware 里开启 Shared Folders
- 希望在图形会话登录后自动挂载
这份方案默认使用“用户级 systemd 服务”来完成自动挂载。
优点:
- 不需要修改
/etc/fstab - 不依赖桌面环境的自动挂载组件
- 不需要 root 权限
- 对 Wayland compositor 场景更稳
- 后续新增共享文件夹后,不需要改服务文件
1. 前提检查
确认系统已安装 VMware Tools:
rpm -q open-vm-tools open-vm-tools-desktop确认相关命令存在:
which vmhgfs-fuse vmware-hgfsclient vmtoolsd确认 VMware 已经把共享目录暴露给客户机:
vmware-hgfsclient如果这里能列出共享目录名,例如:
ShareWork说明 VMware 共享文件夹功能已经正常。
2. 创建用户级 systemd 服务
创建目录:
mkdir -p ~/.config/systemd/user写入服务文件 ~/.config/systemd/user/vmhgfs-mount.service:
[Unit]Description=Mount VMware shared folders in the user sessionDocumentation=https://github.com/vmware/open-vm-toolsConditionVirtualization=vmwareConditionPathExists=/usr/bin/vmhgfs-fuse
[Service]Type=simpleExecStartPre=/usr/bin/mkdir -p %h/hgfsExecStartPre=/usr/bin/bash -lc '/usr/bin/mountpoint -q %h/hgfs && /usr/bin/fusermount3 -u %h/hgfs || true'ExecStart=/usr/bin/bash -lc '/usr/bin/vmhgfs-fuse .host:/ %h/hgfs -f -o uid=$(id -u),gid=$(id -g),auto_unmount'ExecStop=/usr/bin/bash -lc '/usr/bin/mountpoint -q %h/hgfs && /usr/bin/fusermount3 -u %h/hgfs || true'Restart=on-failureRestartSec=2
[Install]WantedBy=default.target说明:
- 挂载点固定为
~/hgfs .host:/表示挂载“所有共享文件夹”的根- 这不是硬编码某一个共享目录
uid=$(id -u)和gid=$(id -g)会在服务启动时读取当前用户的实际编号- 因此不需要假设当前用户一定是
1000:1000 - 后续你在 VMware 里新增共享目录后,重新登录或重启后会自动出现在
~/hgfs/下
3. 启用服务
systemctl --user daemon-reloadsystemctl --user enable --now vmhgfs-mount.service检查状态:
systemctl --user status --no-pager vmhgfs-mount.service--no-pager 的作用是禁止 systemctl 调用分页器(例如 less),让结果直接一次性输出完,适合脚本和非交互环境。
如果你修改过服务文件,记得重新加载:
systemctl --user daemon-reloadsystemctl --user restart vmhgfs-mount.service4. 验证挂载结果
查看挂载状态:
findmnt ~/hgfs查看共享目录:
ls -la ~/hgfs正常情况下会看到类似:
~/hgfs/Share~/hgfs/Work5. 后续维护
如果你在 VMware 里新增了共享目录:
- 通常重新登录图形会话即可生效
- 或者手动刷新服务
systemctl --user restart vmhgfs-mount.service如果你删除了某个共享目录:
- 重新登录或重启服务后,对应目录会从
~/hgfs下消失
6. 卸载或回滚
停止并禁用服务:
systemctl --user disable --now vmhgfs-mount.service删除服务文件:
rm -f ~/.config/systemd/user/vmhgfs-mount.servicesystemctl --user daemon-reload如果还需要移除挂载点目录:
rmdir ~/hgfs7. 设计说明
这份配置选择的是“登录后自动挂载”,不是“系统开机但用户未登录时就挂载”。
这样做的原因:
vmhgfs-fuse本身非常适合在用户会话里运行- 不需要 root 配置
- 对
niri + dms这类轻量会话环境更直接 - 挂载目录在用户家目录下,权限模型更简单
- 服务启动时动态读取当前用户的 UID/GID,适合跨机器复用
如果你需要的是系统级挂载,例如固定挂到 /mnt/hgfs,可以另做一个 root 级的 systemd mount/service 方案,但那是另一套配置。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
VMWare 以用户systemd形式自动挂载共享文件夹
https://blog.lentikr.top/posts/260401_vmware_share/ 相关文章 智能推荐
1
Fedora环境完善(一)
记录Fedora物理机部署后续的环境完善,本期涉及Windows RDP连接、incus openwrt软路由部署与TUI管理脚本
2
Fedora 43物理机部署复盘
记录在物理机安装 Fedora 43 双系统及 Niri 平铺式桌面的踩坑过程。包含环境配置、Waydroid 安卓子系统安装及问题修复,以及脱离 VMware,使用 Incus 命令行管理 KVM 虚拟机(Ubuntu/Win11)的实践指南。
3
网安四大顶会中的LLM/Agent相关文章调研
LLM在安全领域的应用正从单点工具向多智能体协作工作流演进,显著提升了自动化渗透测试与漏洞修复的效率。与此同时,安全研究的重心已从单纯的模型攻防扩展至系统级安全,针对RAG知识库、推理缓存等基础设施的攻击与防御成为了新的焦点。面对层出不穷的越狱攻击、隐私泄露及滥用风险,如何在利用大模型能力的同时构建鲁棒的防御体系与评测基准,是未来的核心挑战。
随机文章 随机推荐