VMware Ubuntu挂载Windows机器的共享文件

时间:2025-04-16 09:38:49

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上设置文件夹共享

  1. 创建共享文件夹

    • 右键点击要共享的文件夹 → 属性 → 共享
    • 点击"高级共享" → 勾选"共享此文件夹"
  2. 设置访问权限

    • 点击"权限" → 移除"Everyone"
    • 点击"添加" → 输入Windows用户名(如Administrator)
    • 设置适当权限(读取/写入)
    • 确保该用户有密码保护
  3. 检查网络设置

    • 确保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

第三步:配置开机自动挂载(可选)

  1. 编辑fstab文件
sudo nano /etc/fstab
  1. 添加挂载配置
//101.109.81.10/workcode /mnt/workcode cifs credentials=/etc/smbcredentials,vers=2.0 0 0
  1. 测试配置
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
      

协议版本问题

  • 协议协商失败
    • 尝试不同的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
      

总结

通过以上步骤,您可以在VMware Ubuntu中无缝访问Windows共享文件夹。这种方法比其他文件传输方式更高效,特别适合需要频繁在两个系统间编辑同一文件的场景。

记住,安全起见,建议使用凭证文件而非直接在命令行中输入密码,并确保共享设置仅允许必要的最小权限。