最常用的共享方式按优先级排序:虚拟机直接共享(适合虚拟机环境)→Samba 网络共享(适合物理机 / 局域网)→Windows 共享访问(快速访问 Windows 文件)→SFTP 传输(安全文件传输)→命令行挂载(永久访问需求)。下面是详细操作指南。


一、虚拟机环境:直接共享(最简单)

如果 Ubuntu 安装在 VMware/VirtualBox 虚拟机中,优先使用此方法。

VMware 虚拟机共享

  1. 确保 Ubuntu 虚拟机已安装VMware Tools(菜单:虚拟机→安装 VMware Tools)
  2. 打开虚拟机设置→选项→共享文件夹,选择总是启用,点击添加选择 Windows 文件夹
  3. Ubuntu 中访问:打开文件管理器→左侧其他位置→输入/mnt/hgfs即可看到共享文件夹

VirtualBox 虚拟机共享

  1. 安装增强功能(菜单:设备→安装增强功能)
  2. 设备→共享文件夹→添加共享文件夹,勾选自动挂载固定分配
  3. Ubuntu 中访问:默认挂载在/media/sf_共享文件夹名,需将用户加入 vboxsf 组获取权限bash运行sudo usermod -aG vboxsf $USER 重启后生效

二、Samba 网络共享(推荐,物理机 / 局域网通用)

Samba 是 Linux 与 Windows 间标准共享协议,支持双向访问,适合长期使用。

步骤 1:Ubuntu 安装并配置 Samba(让 Windows 访问 Ubuntu 文件)

  1. 安装 Samba 服务bash运行sudo apt update sudo apt install samba samba-common-bin # 安装核心组件
  2. 创建共享文件夹(如~/shared)并设置权限bash运行mkdir -p ~/shared # 创建文件夹 sudo chmod -R 777 ~/shared # 开放读写权限(可根据需求调整) sudo chown $USER:$USER ~/shared # 设置归属
  3. 配置 Samba 共享bash运行sudo nano /etc/samba/smb.conf # 编辑配置文件 在文件末尾添加:ini[UbuntuShare] # 共享名称(Windows中显示) comment = Ubuntu与Windows共享文件夹 path = /home/你的用户名/shared # 替换为实际路径 browseable = yes # 允许浏览 read only = no # 可读写 guest ok = no # 禁止匿名访问 create mask = 0777 # 新建文件权限 directory mask = 0777 # 新文件夹权限{insert\_element\_0\_}Ctrl+O保存,Ctrl+X退出。
  4. 设置 Samba 用户密码(需与 Ubuntu 用户名一致)bash运行sudo smbpasswd -a $USER # 添加当前用户到Samba 输入两次密码(可与系统密码不同)
  5. 重启 Samba 服务并放行防火墙bash运行sudo systemctl restart smbd nmbd # 重启服务 sudo ufw allow samba # 允许Samba通过防火墙
  6. Windows 访问:打开文件资源管理器→地址栏输入\\Ubuntu的IP地址\UbuntuShare,输入 Samba 用户名密码即可访问
    • 查看 Ubuntu IP:终端输入ip a(通常在wlp2s0enp0s3接口下)

步骤 2:Ubuntu 访问 Windows 共享文件

  1. Windows 设置共享文件夹:右键文件夹→属性→共享→添加用户(推荐 Everyone 或当前用户),设置读写权限
  2. Ubuntu 中访问:
    • 打开文件管理器→左侧其他位置连接到服务器
    • 服务器地址输入:smb://Windows的IP地址/共享文件夹名
    • 输入 Windows 用户名和密码,即可访问并读写文件

三、快速临时传输:无需复杂配置

方法 1:U 盘 / 移动硬盘(最直接)

  1. 格式建议使用FAT32(两系统都支持),避免 NTFS(Ubuntu 默认只读)或 ext4(Windows 不识别)
  2. Ubuntu 中插入 U 盘后自动挂载,文件管理器左侧可见,复制文件即可

方法 2:SFTP 传输(安全可靠)

适合跨网络或需安全传输的场景,利用 SSH 协议。

  1. Ubuntu 安装 SSH 服务(已安装可跳过)bash运行sudo apt install openssh-server
  2. Windows 端安装FileZilla(免费 FTP 客户端),新建站点:
    • 协议:SFTP - SSH File Transfer Protocol
    • 主机:Ubuntu 的 IP 地址
    • 端口:22
    • 登录类型:正常,输入 Ubuntu 用户名和密码
  3. 连接后可直接拖拽文件,支持断点续传和批量操作

四、进阶:命令行挂载 Windows 共享(永久访问)

适合需长期访问 Windows 文件的场景,将 Windows 共享文件夹挂载为 Ubuntu 本地目录。

  1. 安装挂载工具bash运行sudo apt install cifs-utils # CIFS协议工具包
  2. 创建挂载点(如~/winshare)bash运行mkdir -p ~/winshare
  3. 临时挂载(重启失效)bash运行sudo mount -t cifs -o username=Windows用户名,password=Windows密码 //WindowsIP/共享名 ~/winshare 例:sudo mount -t cifs -o username=user,password=123456 //192.168.1.100/MyShare ~/winshare
  4. 永久挂载(重启保留)bash运行sudo nano /etc/fstab # 编辑系统挂载配置 添加以下内容(一行):plaintext//192.168.1.100/MyShare /home/你的用户名/winshare cifs username=user,password=123456,iocharset=utf8 0 0 保存后执行sudo mount -a立即生效,无需重启

五、常见问题排查

问题解决方法
Windows 无法访问 Ubuntu Samba1. 检查 Ubuntu 防火墙是否放行 Samba(sudo ufw status)2. 确认 Samba 用户密码正确3. 关闭 Windows Defender 防火墙或添加例外
Ubuntu 访问 Windows 共享提示权限不足1. Windows 共享文件夹权限设置为读写2. 使用 Windows 管理员账户登录3. 检查网络是否在同一工作组(默认 WORKGROUP)
中文文件名乱码挂载时添加参数iocharset=utf8,Samba 配置中添加unix charset = UTF-8dos charset = CP936
虚拟机共享文件夹看不到1. 确认已安装增强功能2. 用户已加入对应组(vboxsf/hgfs)3. 重启虚拟机

六、最佳实践推荐

场景推荐方式优势
虚拟机日常使用虚拟机直接共享无需配置,直接访问,性能最佳
物理机局域网Samba 网络共享双向访问,支持多设备,适合长期使用
临时少量文件U 盘 / 移动硬盘无需网络,操作简单,适合离线场景
跨网络 / 安全传输SFTP 传输加密传输,适合敏感文件,支持断点续传
频繁访问 Windows 文件命令行挂载像本地文件夹一样访问,无需重复输入地址