一、挂载前的前提准备
需先完成基础配置,否则挂载会失败:
- 宿主机开启共享文件夹
- 打开 VMware 软件,选中当前虚拟机→点击「虚拟机设置」
- 切换到「选项」标签→选择「共享文件夹」
- 点击「添加」→选择你要共享的宿主机目录→勾选「启用此共享」
安装 VMware 工具(虚拟机和宿主机的连接器) 打开终端,执行命令安装:
sudo apt update && sudo apt install open-vm-tools open-vm-tools-desktop
介绍在 Ubuntu 虚拟机中挂载 VMware 共享文件夹的方法。首先需安装 open-vm-tools 并开启宿主机共享设置。支持手动临时挂载和通过 /etc/fstab 配置开机自动挂载。此外提供了一键自动化脚本,可自动安装依赖、创建挂载点并执行挂载,同时支持配置开机自启。
需先完成基础配置,否则挂载会失败:
安装 VMware 工具(虚拟机和宿主机的连接器) 打开终端,执行命令安装:
sudo apt update && sudo apt install open-vm-tools open-vm-tools-desktop

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online
适合临时使用,步骤如下:
执行挂载命令(注意替换 你的共享文件夹名):
把'你的共享文件夹名'换成你在宿主机里设置的共享目录名称,比如你共享的文件夹叫 my_files,就这么写:
sudo vmhgfs-fuse .host:/my_files /mnt/hgfs -o allow_other
创建挂载点目录(如果 /mnt/hgfs 不存在):
sudo mkdir -p /mnt/hgfs
如果想每次开机不用手动挂,就配置自动挂载:
编辑系统挂载配置文件 /etc/fstab:
sudo nano /etc/fstab
在文件末尾添加一行(同样替换 你的共享文件夹名):
.host:/你的共享文件夹名 /mnt/hgfs fuse.vmhgfs-fuse allow_other 0 0
保存退出(按 Ctrl+O → 回车 → Ctrl+X),然后让配置生效:
sudo mount -a
执行命令查看 /mnt/hgfs 目录,能看到宿主机共享的文件就成功了:
ls /mnt/hgfs
下面是适配 Ubuntu/Debian 系虚拟机的自动化挂载脚本,包含手动临时挂载及可选自动挂载功能。
打开终端,执行命令创建脚本文件:
nano vmware_share_mount.sh
输入以下内容:
#!/bin/bash
# VMware 虚拟机共享文件夹挂载脚本(Ubuntu/Debian 专用)
# 使用前请替换【你的共享文件夹名】为实际名称(宿主机设置的共享名)
# 检查是否以 root 权限运行
if [ $EUID -ne 0 ]; then
echo "⚠️ 请用 sudo 运行此脚本!示例:sudo bash vmware_share_mount.sh"
exit 1
fi
# 定义核心变量(必须修改这里)
SHARE_NAME="你的共享文件夹名" # 替换成宿主机设置的共享文件夹名称
MOUNT_POINT="/mnt/hgfs" # 挂载点,默认不用改
# 步骤 1:安装依赖(open-vm-tools)
echo "正在安装/检查 VMware 工具依赖..."
apt update > /dev/null 2>&1
apt install -y open-vm-tools open-vm-tools-desktop > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "✅ VMware 工具安装/检查完成"
else
echo "❌ VMware 工具安装失败,请手动执行:sudo apt install open-vm-tools open-vm-tools-desktop"
exit 1
fi
# 步骤 2:创建挂载点
echo "正在创建挂载点 $MOUNT_POINT..."
mkdir -p $MOUNT_POINT
if [ $? -eq 0 ]; then
echo "✅ 挂载点创建成功"
else
echo "❌ 挂载点创建失败,请检查目录权限"
exit 1
fi
# 步骤 3:手动临时挂载
echo "正在挂载共享文件夹 $SHARE_NAME 到 $MOUNT_POINT..."
umount $MOUNT_POINT > /dev/null 2>&1 # 先卸载旧挂载(避免冲突)
vmhgfs-fuse .host:/$SHARE_NAME $MOUNT_POINT -o allow_other
if [ $? -eq 0 ]; then
echo "✅ 手动挂载成功!"
else
echo "❌ 手动挂载失败!请检查:"
echo "1. 宿主机是否已启用共享文件夹(VMware→虚拟机设置→选项→共享文件夹)"
echo "2. SHARE_NAME 是否和宿主机共享名一致(区分大小写)"
exit 1
fi
# 步骤 4:可选 - 配置开机自动挂载
read -p "是否配置开机自动挂载?(y/n,默认 n):" AUTO_MOUNT
if [ "$AUTO_MOUNT" = "y" ] || [ "$AUTO_MOUNT" = "Y" ]; then
# 先备份 fstab
cp /etc/fstab /etc/fstab.bak_vmshare
# 写入自动挂载配置
echo ".host:/$SHARE_NAME $MOUNT_POINT fuse.vmhgfs-fuse allow_other 0 0" >> /etc/fstab
# 验证配置是否生效
mount -a
if [ $? -eq 0 ]; then
echo "✅ 自动挂载配置完成!重启后仍生效"
else
# 配置出错则恢复备份
cp /etc/fstab.bak_vmshare /etc/fstab
echo "❌ 自动挂载配置失败,已恢复 fstab 备份"
fi
else
echo "ℹ️ 跳过自动挂载配置,仅本次开机有效"
fi
# 步骤 5:验证挂载结果
echo "挂载结果验证:"
ls -l $MOUNT_POINT | head -5
echo "====================================="
echo "🎉 操作完成!共享文件夹路径:$MOUNT_POINT"
找到脚本里这一行:
SHARE_NAME="你的共享文件夹名"
把 你的共享文件夹名 替换成宿主机在 VMware 里设置的共享文件夹名称(比如你共享的文件夹叫 win_share,就改成 SHARE_NAME="win_share")。
改完后按 Ctrl+O → 回车 → Ctrl+X 保存退出。
用 root 权限运行(必须加 sudo):
sudo bash vmware_share_mount.sh
给脚本添加执行权限:
chmod +x vmware_share_mount.sh
y 则自动修改 /etc/fstab,重启不失效;输入 n 则仅本次开机有效;如果运行中提示失败,大概率是 SHARE_NAME 填错了,或者宿主机没开启共享文件夹,核对一下即可。