https://www.dong-blog.fun/post/2029
在VMware Ubuntu中访问Windows共享文件夹:完整指南
在使用VMware运行Ubuntu虚拟机时,访问Windows主机上的文件是常见需求。本文将详细介绍如何通过网络共享方式,让Ubuntu虚拟机直接访问Windows主机的文件夹。
前提条件
- Windows主机(示例配置):
- IP地址: 101.109.81.10
- 用户名: Administrator
- 密码: qwer
- 共享文件夹: workcode
- 共享路径:
\\DESKTOP-8RD6GAQ\workcode
第一步:在Windows上设置文件夹共享
-
创建共享文件夹
- 右键点击要共享的文件夹 → 属性 → 共享
- 点击"高级共享" → 勾选"共享此文件夹"
-
设置访问权限
- 点击"权限" → 移除"Everyone"
- 点击"添加" → 输入Windows用户名(如Administrator)
- 设置适当权限(读取/写入)
- 确保该用户有密码保护
-
检查网络设置
- 确保Windows防火墙允许文件共享(SMB服务,TCP 445端口)
第二步:在Ubuntu中挂载Windows共享
1. 确认网络连接
# 测试与Windows主机的连接
ping 101.109.81.10
2. 安装必要工具
# 安装CIFS支持
sudo apt update
sudo apt install cifs-utils -y
3. 创建挂载点
# 创建一个目录作为挂载点
sudo mkdir -p /mnt/workcode
4. 挂载共享文件夹
# 基本挂载命令
sudo mount -t cifs //101.109.81.10/workcode /mnt/workcode -o username=Administrator,password=qwer,vers=2.0
5. 更安全的挂载方式(推荐)
# 创建安全的凭证文件
echo "username=Administrator" | sudo tee /etc/smbcredentials
echo "password=qwer" | sudo tee -a /etc/smbcredentials
sudo chmod 600 /etc/smbcredentials
# 使用凭证文件挂载
sudo mount -t cifs //101.109.81.10/workcode /mnt/workcode -o credentials=/etc/smbcredentials,vers=2.0
6. 验证挂载
# 查看挂载情况
df -h | grep workcode
# 查看共享文件夹内容
ls /mnt/workcode
第三步:配置开机自动挂载(可选)
- 编辑fstab文件
sudo nano /etc/fstab
- 添加挂载配置
//101.109.81.10/workcode /mnt/workcode cifs credentials=/etc/smbcredentials,vers=2.0 0 0
- 测试配置
sudo mount -a
常见问题及解决方案
连接问题
- 无法连接到Windows主机
- 检查两者是否在同一网络
- 验证Windows防火墙设置:
# 在Windows PowerShell中运行(管理员权限) New-NetFirewallRule -DisplayName "Allow SMB" -Direction Inbound -Protocol TCP -LocalPort 445 -Action Allow
权限问题
- 权限被拒绝
- 添加uid/gid参数匹配Ubuntu用户:
# 获取当前用户的uid和gid id # 使用uid/gid挂载 sudo mount -t cifs //101.109.81.10/workcode /mnt/workcode -o credentials=/etc/smbcredentials,vers=2.0,uid=1000,gid=1000
- 添加uid/gid参数匹配Ubuntu用户:
协议版本问题
- 协议协商失败
- 尝试不同的SMB协议版本:
# 尝试SMB 3.0 sudo mount -t cifs //101.109.81.10/workcode /mnt/workcode -o credentials=/etc/smbcredentials,vers=3.0 # 或尝试SMB 1.0 (不推荐用于生产环境,但有时有用) sudo mount -t cifs //101.109.81.10/workcode /mnt/workcode -o credentials=/etc/smbcredentials,vers=1.0
- 尝试不同的SMB协议版本:
总结
通过以上步骤,您可以在VMware Ubuntu中无缝访问Windows共享文件夹。这种方法比其他文件传输方式更高效,特别适合需要频繁在两个系统间编辑同一文件的场景。
记住,安全起见,建议使用凭证文件而非直接在命令行中输入密码,并确保共享设置仅允许必要的最小权限。