文章目录
前提:仅主机模式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客户端)
bash#安装客户端 sudo apt install cifs-utils #临时挂载 sudo mount -t cifs //192.168.137.1/vm_share /mnt/share -o username=主机账号,password=主机密码 #永久挂载写入/etc/fstab - Windows虚拟机:此电脑映射网络驱动器,填写
场景B:Linux虚拟机开启Samba,物理机访问虚拟机文件
- Linux虚拟机安装samba
bash
sudo apt install samba samba-common-bin
- 备份配置文件,编辑
/etc/samba/smb.conf,在末尾添加
ini
[myshare]
path = /home/xxx/share
browseable = yes
writable = yes
create mask=0644
- 创建samba独立密码(和系统密码分开)
bash
sudo smbpasswd -a 你的linux用户名
sudo systemctl restart smbd
- 物理机访问:
\\虚拟机IP\myshare
方案3:SFTP(SSH文件传输,适合Linux虚拟机)
走仅主机VMnet1网络,加密,不用配置SMB复杂权限
- Linux虚拟机安装openssh-server
bash
sudo apt install openssh-server
sudo systemctl enable --now ssh
- 物理机用工具:FileZilla / WinSCP
- 协议SFTP,主机填虚拟机仅主机IP,端口22,输入虚拟机账号密码
优点:一次配置,随时上传下载,支持断点续传;适合开发环境