文章目录
- 方案1:VMware原生共享文件夹(HGFS,无需网络)
- 方案2:SMB共享(走仅主机VMnet1网卡,推荐)
- 场景A:Windows物理机,共享文件夹给虚拟机
- 场景B:Linux虚拟机开启Samba,物理机访问虚拟机文件
- 方案3:SFTP(SSH文件传输,适合Linux虚拟机)
前提:仅主机模式VMnet1网卡已配置好,物理机与虚拟机能互相ping通(同网段)
方案1:VMware原生共享文件夹(HGFS,无需网络)
⚠️ 这个功能不受仅主机网卡限制,只要装好VMware Tools即可,和网络模式无关
- 关闭虚拟机 → 虚拟机设置 →【选项】→【共享文件夹】
- 选择总是启用,点击添加,选中物理机本地文件夹
- 勾选【在Windows客户机中映射为网络驱动器】
- 启动虚拟机,必须安装VMware Tools
- Windows虚拟机:此电脑 →
\\vmware-host\Shared Folders - Linux虚拟机:访问
/mnt/hgfs
- Windows虚拟机:此电脑 →
缺点:新版Ubuntu很多内核移除hgfs模块,会找不到/mnt/hgfs目录;安全隔离弱
方案2:SMB共享(走仅主机VMnet1网卡,推荐)
原理:在物理机开共享,虚拟机通过VMnet1局域网访问;也可以虚拟机开Samba,物理机访问虚拟机文件
场景A:Windows物理机,共享文件夹给虚拟机
- 物理机新建文件夹(例 D:\vm_share)右键【属性】→【共享】→高级共享
- ✅勾选【共享此文件夹】→权限 → 添加
Everyone,分配读取/完全控制权限
- ✅勾选【共享此文件夹】→权限 → 添加
- Win+R输入
services.msc,确认Server、Workstation服务正在运行 - 网络和共享中心 → 更改高级共享设置
- 专用网络:启用网络发现、启用文件共享;关闭密码保护共享(可选)
- Windows防火墙:放行【文件和打印机共享】,对VMnet1网卡开放
- 虚拟机访问:
- Windows虚拟机:此电脑映射网络驱动器,填写
\\物理机VMnet1IP\vm_share - Linux虚拟机(Samba客户端)
#安装客户端sudoaptinstallcifs-utils#临时挂载sudomount-tcifs //192.168.137.1/vm_share /mnt/share-ousername=主机账号,password=主机密码#永久挂载写入/etc/fstab - Windows虚拟机:此电脑映射网络驱动器,填写
场景B:Linux虚拟机开启Samba,物理机访问虚拟机文件
- Linux虚拟机安装samba
sudoaptinstallsamba samba-common-bin- 备份配置文件,编辑
/etc/samba/smb.conf,在末尾添加
[myshare] path = /home/xxx/share browseable = yes writable = yes create mask=0644- 创建samba独立密码(和系统密码分开)
sudosmbpasswd-a你的linux用户名sudosystemctl restart smbd- 物理机访问:
\\虚拟机IP\myshare
方案3:SFTP(SSH文件传输,适合Linux虚拟机)
走仅主机VMnet1网络,加密,不用配置SMB复杂权限
- Linux虚拟机安装openssh-server
sudoaptinstallopenssh-serversudosystemctlenable--nowssh- 物理机用工具:FileZilla / WinSCP
- 协议SFTP,主机填虚拟机仅主机IP,端口22,输入虚拟机账号密码
优点:一次配置,随时上传下载,支持断点续传;适合开发环境