文章目录
-
- 步骤0:配置仅主机网络(必做前置)
- 方式一:SFTP(优先推荐,Linux虚拟机,配置最简单,走VMnet1网络)
- 方式二:SMB/Samba(走VMnet1网络,适合需要持久挂载文件夹)
- [方式三:VMware HGFS共享文件夹(⚠️不走VMnet1网络,独立内核通道)](#方式三:VMware HGFS共享文件夹(⚠️不走VMnet1网络,独立内核通道))
步骤0:配置仅主机网络(必做前置)
-
关闭虚拟机,VMware菜单【编辑】→以管理员身份打开虚拟网络编辑器
-
选中
VMnet1:- 网络类型:仅主机模式
- ✅勾选:将主机虚拟适配器连接到此网络
- 子网IP:
192.168.137.0,掩码255.255.255.0,DHCP开启
-
虚拟机设置→硬件→网络适配器:选择仅主机模式(VMnet1)
-
开机
- 物理机cmd:
ipconfig,记下VMware Network Adapter VMnet1的IP - 虚拟机终端:
ip a,查看ens33网卡IP
- 物理机cmd:
-
双向ping测试
cmd#物理机cmd ping 192.168.137.100bash#虚拟机终端 ping 192.168.137.1
ping不通不要往下走;检查防火墙、网卡勾选、网段一致。
方式一:SFTP(优先推荐,Linux虚拟机,配置最简单,走VMnet1网络)
原理:虚拟机开启SSH服务;物理机通过VMnet1的IP使用SFTP协议双向传文件。
- 虚拟机执行:
bash
sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh
sudo ufw allow 22/tcp
- 确认ssh状态
bash
sudo systemctl status ssh
- 物理机安装 WinSCP (免费)
- 协议:
SFTP - 主机名:
192.168.137.100(虚拟机仅主机IP) - 端口:
22 - 用户名/密码:Ubuntu登录账号密码
- 协议:
- 连接成功,直接拖拽上传下载文件。
备选,Windows自带scp命令(不需要软件)
cmd
#物理机发送文件到虚拟机
scp D:\test.txt ubuntu@192.168.137.100:/home/ubuntu
#下载虚拟机文件到物理机
scp ubuntu@192.168.137.100:/home/ubuntu/test.txt D:\
方式二:SMB/Samba(走VMnet1网络,适合需要持久挂载文件夹)
场景A:Windows物理机共享文件夹,给Linux虚拟机访问
-
Windows新建文件夹
D:\vm_share -
右键文件夹 → 属性 →【共享】→【高级共享】
- ✅勾选【共享此文件夹】,共享名:
vm_share - 权限 → 添加
Everyone,授予完全控制、读取 - 切换【安全】选项卡,同样添加
Everyone读写权限
- ✅勾选【共享此文件夹】,共享名:
-
Win+R输入
services.msc,保证下面服务自动且正在运行ServerWorkstation
-
控制面板 → 网络和共享中心 → 更改高级共享设置
- 专用网络:启用网络发现、启用文件和打印机共享
- 全部网络:关闭密码保护共享(可选免密)
-
Windows防火墙高级设置,启用【文件和打印机共享】入站规则,限定远程IP为
192.168.137.0/24。 -
Linux虚拟机安装客户端,挂载共享
bash
sudo apt install cifs-utils
sudo mkdir -p /mnt/vm_share
#临时挂载(重启失效,替换为你的Windows账号密码)
sudo mount -t cifs //192.168.137.1/vm_share /mnt/vm_share -o username=win账号,password=win密码,vers=3.0
永久挂载写入/etc/fstab
//192.168.137.1/vm_share /mnt/vm_share cifs username=win账号,password=win密码,vers=3.0,_netdev 0 0
执行sudo mount -a生效。
场景B:Linux虚拟机开Samba,Windows物理机访问虚拟机目录
- 虚拟机安装samba
bash
sudo apt install samba samba-common-bin
mkdir ~/samba_share
- 编辑配置文件
sudo nano /etc/samba/smb.conf,文件末尾追加:
ini
[myshare]
path = /home/ubuntu/samba_share
browseable = yes
writable = yes
create mask = 0644
- 设置samba密码(独立于系统密码)
bash
sudo smbpasswd -a ubuntu
sudo systemctl restart smbd
sudo ufw allow samba
-
Windows物理机,此电脑地址栏输入:
\192.168.137.100\myshare
输入samba用户名密码访问,也可以映射网络驱动器盘符。
方式三:VMware HGFS共享文件夹(⚠️不走VMnet1网络,独立内核通道)
说明:和仅主机网络无关,网卡断开照样可以用;新版Ubuntu内核经常失效,不推荐作为仅主机网络方案。
- 虚拟机关机,虚拟机设置 →【选项】→【共享文件夹】
- 设置:总是启用 → 添加,选择物理机文件夹
- 开机,安装open‑vm‑tools
bash
sudo apt install open‑vm‑tools open‑vm‑tools‑desktop
- 查看已配置共享名
bash
vmware‑hgfsclient
- fuse手动挂载
bash
sudo mkdir -p /mnt/hgfs
sudo vmhgfs‑fuse .host:/ /mnt/hgfs -o allow_other
旧版Linux:访问
/mnt/hgfs;新版经常挂载失败,失败请改用SFTP/SMB。