Ubuntu 虚拟机共享文件夹设置指南
一、VMware Workstation Player 或 Pro
- 在宿主机上关闭或暂停虚拟机,打开虚拟机设置 → 选项 → 共享文件夹,选择总是启用,点击添加,设置主机路径(如 D:\VMShare)和共享名(如 VMShare),完成向导。
- 启动 Ubuntu,安装工具:sudo apt update && sudo apt install open-vm-tools open-vm-tools-desktop -y,然后重启。
- 验证与挂载:ls /mnt/hgfs/ 应能看到共享名;若为空或未挂载,执行:sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other;查看共享名可用:vmware-hgfsclient。
- 开机自动挂载:编辑 /etc/fstab,在末尾添加:.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,rw,allow_other,gid=1000,uid=1000,auto 0 0(将 uid/gid 替换为你的实际用户 ID,可用 id 命令查看)。
二、Oracle VirtualBox
- 在虚拟机设置 → 共享文件夹 → 添加共享文件夹,勾选自动挂载与固定分配,设置共享名(如 shared)。
- 启动 Ubuntu,安装增强功能:sudo apt update && sudo apt install virtualbox-guest-utils -y,然后重启。
- 挂载与验证:sudo mount -t vboxsf shared /mnt/shared;若提示权限不足,将当前用户加入 vboxsf 组:sudo usermod -aG vboxsf $(whoami),注销并重新登录或重启后再试。
三、常见问题与快速排查
- 看不到共享内容或 /mnt/hgfs 为空:确认已安装 open-vm-tools,再执行 sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other;必要时创建目录 sudo mkdir -p /mnt/hgfs。
- 权限被拒绝或总是弹密码(VirtualBox):执行 sudo usermod -aG vboxsf $(whoami),注销/重启后验证 groups 是否包含 vboxsf。
- 普通用户无法访问 /mnt/hgfs:挂载时加入 allow_other,并将 uid/gid 设为当前用户(如 1000),示例:sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,uid=1000,gid=1000,umask=022。
- 开机未自动挂载:检查 /etc/fstab 是否正确,先测试命令能否手动挂载成功,再写入 fstab;VMware 使用 .host:/ → /mnt/hgfs,VirtualBox 使用 vboxsf 共享名 → 挂载点。
四、实用命令速查
- 查看共享名:vmware-hgfsclient(VMware)
- 手动挂载 VMware:sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
- 手动挂载 VirtualBox:sudo mount -t vboxsf <共享名> <挂载点>
- 开机自动挂载 fstab 示例(VMware):.host:/ /mnt/hgfs fuse.vmhgfs-fuse defaults,rw,allow_other,gid=1000,uid=1000,auto 0 0
- 将当前用户加入 vboxsf 组(VirtualBox):sudo usermod -aG vboxsf $(whoami)