在日常开发中,我们经常需要在 Windows 宿主机和 Ubuntu 虚拟机(或物理机)之间互相传输文件。虽然可以使用 VMware Tools 或第三方工具,但通过 Samba 协议将 Ubuntu 的文件夹直接映射为 Windows 网络驱动器,是最高效、最原生的做法。
以下是完整的配置流程记录,适用于 Ubuntu 20.04 / 22.04 / 24.04。
1. 安装 Samba 服务
首先,更新软件源并安装 Samba:
bash
sudo apt update
sudo apt install samba -y
2. 创建本地共享目录
在 Ubuntu 中创建一个用于共享的文件夹(例如放在用户主目录下),并赋予最高读写权限,避免后续因为权限问题导致无法写入。
bash
mkdir ~/share
sudo chmod 777 ~/share -R
3. 配置 Samba 共享规则
编辑 Samba 的主配置文件:
bash
sudo vim /etc/samba/smb.conf
在文件的最末尾,添加以下内容:
ini
[Share]
comment = My Samba Share
path = /home/lhy/share
browseable = yes
writeable = yes
(注:请将 path 替换为你实际的路径,比如你的用户名如果不是 lhy,请对应修改。)
4. 设置 Samba 访问密码
为了安全性和连接成功率(尤其是 Windows 11),建议使用账号密码登录。为当前系统用户设置一个 Samba 专属密码:
bash
sudo smbpasswd -a lhy
(系统会提示你输入并确认密码。)
6. 在 Windows 中映射网络驱动器
打开 Windows 资源管理器,在地址栏输入 Ubuntu 的 IP 地址:
\\192.168.x.x (请替换为你的 Ubuntu 实际 IP)
此时会弹出认证窗口,输入刚才设置的账号(lhy)和密码。连接成功后,右键点击该 Share 文件夹,选择 "映射网络驱动器" ,以后就可以在"此电脑"中像访问本地磁盘一样直接访问 Ubuntu 的文件了。
详细技术内容见0voice - github