VMware17下Ubuntu22.04设置本地共享文件夹

[复制链接]
发表于 2026-10-5 11:24:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

在 Windows 上装了 VMware、里面跑 Ubuntu 做开发,最烦的就是主机和虚拟机之间倒腾文件:拖过去、拷出来、再拖回去,几分钟就没了。VMware 的共享文件夹能直接把主机目录挂进虚拟机,一次配置长期受益。本文走一遍完整流程,顺带把 open-vm-tools 的安装和自动挂载的坑说清楚。

开搞之前要准备什么

  • VMware Workstation Pro 17 或更高版本,已经装好、并且建好了 Ubuntu 22.04 虚拟机。
  • 虚拟机关机状态下才能改共享设置(运行中改不了)。
  • 虚拟机里能正常联网、能跑 apt。

第一步:在 VMware 里启用共享文件夹

  1. 关闭正在运行的 Ubuntu 虚拟机。
  2. 在 VMware 左侧库里选中这台虚拟机,点「设置(VM Settings)」。
  3. 切到「选项(Options)」页签 → 「共享文件夹(Shared Folders)」。
  4. 选「总是启用(Always enabled)」。
  5. 点「添加(Add)」→ 浏览选主机上要共享的目录 → 起个名字(英文、别带空格,后面挂载命令要用)→ 勾选「启用此共享」→ 完成 → 确认。

这里的共享名建议用纯英文小写,比如 share。中文名或者带空格在 fuse 挂载时经常要转义,徒增麻烦。

第二步:虚拟机里装工具

VMware 官方推荐用 open-vm-tools 替代老旧的 VMware Tools,共享文件夹功能依赖它。

sudo apt update

如果之前装过旧版,先卸干净免得出冲突:

sudo apt autoremove open-vm-tools --purge
sudo rm -rf /etc/vmware-tools/

再装新的(-desktop 那一项负责拖放、复制粘贴、分辨率自适应这些桌面功能):

sudo apt install open-vm-tools open-vm-tools-desktop -y

装完重启一次,或者 sudo systemctl restart vmtoolsd。

第三步:找到共享文件夹并挂上去

1. 看有哪些共享

vmware-hgfsclient

会打印出共享名,比如 share。这条命令必须先能列出内容,再谈挂载;列不出来就是 vmtoolsd 没跑起来或者 VMware 那边没配对。

2. 建挂载点

sudo mkdir -p /mnt/hgfs

3. 手动挂载

sudo vmhgfs-fuse .host:/share /mnt/hgfs -o allow_other,uid=1000,gid=1000,umask=022

参数逐个讲:

  • .host:/share — 固定格式,.host: 后面接第一步起的共享名。
  • allow_other — 允许非 root 用户访问。不加这条,普通用户进去就是权限拒绝。
  • uid=1000 和 gid=1000 — 映射到当前用户的 ID,Ubuntu 第一个普通用户默认就是 1000。不知道自己 ID 就跑 id 看。
  • umask=022 — 文件权限设为 755 风格,避免新建文件全是不可写的 600。

挂载完 ls /mnt/hgfs 应该能看到主机上那个目录里的文件了。

第四步:配置开机自动挂载

手动挂载重启就没了,写进 /etc/fstab:

sudo nano /etc/fstab

末尾加一行(注意共享名换成你自己的):

.host:/share /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,umask=022 0 0

nano 里保存是 Ctrl+O 然后回车,退出是 Ctrl+X。

写完先验证,别重启了才发现写错:

sudo mount -a

不报错就说明配置没问题,重启虚拟机再 ls /mnt/hgfs 确认。mount -a 是所有 fstab 故障的救命稻草,比盲猜靠谱。

常见的几个问题

  • vmware-hgfsclient 没输出:先 systemctl status vmtoolsd,服务没起就 systemctl enable --now vmtoolsd;还不行就回 VMware 设置里确认共享真的加进去了、并且是「总是启用」。
  • 挂载报 fuse: mount failed 或权限不足:八成是漏了 allow_other,或者 uid/gid 填错。用 id 核对一下。
  • fstab 加了却不自动挂:检查 /etc/fstab 里的文件系统类型列是不是 fuse.vmhgfs-fuse(注意前面的 fuse. 前缀,漏了就识别不出来),再 mount -a 试一遍。
  • 中文文件名乱码:挂载参数加 -o iocharset=utf8。
  • 拷贝大文件很慢:共享走的是主机文件系统,机械盘 + 网络盘场景本来就慢,大文件迁移建议用 scp 或者打包成压缩包再传。

不想走共享文件夹的话

  • USB 直通:把 U 盘或移动硬盘整个直通给虚拟机,速度最快,但要插线。
  • SFTP / scp:虚拟机里装 openssh-server,主机上用 WinSCP 或 scp 传,跨网络最稳。
  • 挂载主机目录:VMware 的「共享文件夹」本质上就是把主机目录 fuse 挂进来,也可以用 Unix socket / NFS 走网络共享。

整套配置只涉及虚拟机内部的挂载点和 fstab,不动主机上任何文件。配好之后主机和虚拟机之间传文件就跟在自己文件夹里一样。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表