虚拟机访问主机文件,最稳的是用共享文件夹或网络共享:VMware 走 Shared Folders,VirtualBox 走共享文件夹,Hyper-V 用 SMB,Linux 主机还能上 virtiofs 或 NFS,临时拖拽只能应急,长期用容易断。
虚拟机访问主机文件前,先选对共享路径
虚拟机想读主机文件,不是只有一种办法,选错了方案,后面不是权限报错,就是挂载掉线。
共享文件夹、SMB/NFS、拖拽复制怎么选
| 方案 | 适合场景 | 配置难度 | 稳定性 | 典型系统 |
|---|---|---|---|---|
| VMware Shared Folders | 个人开发、测试机 | 低 | 中 | VMware Workstation |
| VirtualBox 共享文件夹 | 学习、轻量开发 | 低 | 中 | 跨平台 |
| SMB/CIFS | 多虚拟机、Windows 主机 | 中 | 高 | Windows/Linux |
| NFS | Linux 主机与 Linux 虚拟机 | 中 | 高 | Linux |
| virtiofs | KVM/QEMU 高性能共享 | 中高 | 高 | Linux |
| 拖拽/剪贴板 | 临时传小文件 | 极低 | 低 | 增强工具支持 |
业内专家指出,宿主机共享文件夹更适合个人开发,生产环境尽量走标准协议,原因不复杂:SMB、NFS 有成熟权限体系,虚拟机迁移后也不容易失效。
VMware虚拟机共享主机文件夹怎么设置?Workstation 和 ESXi 分开看
Workstation Pro/Player 配置流程
- 关闭虚拟机,打开“编辑虚拟机设置”。
- 进入“选项”页,点“共享文件夹”。
- 选择“总是启用”,点“添加”。
- 主机路径选
D:vm-share或/home/user/share。 - 名称填英文,
share,勾选“启用此共享”。 - 开机进入虚拟机,Linux 安装
open-vm-tools,Windows 安装 VMware Tools。
Linux 虚拟机里执行:
sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop vmware-hgfsclient sudo mkdir -p /mnt/hgfs sudo mount -t fuse.vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other
想开机自动挂载,把下面一行写进 /etc/fstab:
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0

Windows 虚拟机通常在“网络”里看到 \vmware-hostShared Foldersshare,也可以映射网络驱动器。
ESXi/vSphere 场景别套用共享文件夹
VMware Workstation 的共享文件夹,在 ESXi 里不是同一回事,ESXi 更常见的是 NFS、iSCSI 或 SMB 存储,虚拟机要访问主机文件,通常先在 NAS 或 Windows 主机开共享,再在虚拟机里挂载,据 VMware 官方文档,ESXi 的数据存储管理和 Workstation 共享文件夹属于不同功能层。
VirtualBox共享文件夹不显示怎么办?先查这四处
增强功能装了吗
VirtualBox 共享文件夹依赖增强功能,菜单“设备”里点“安装增强功能”,Linux 手动运行:
sudo mkdir -p /mnt/cdrom sudo mount /dev/cdrom /mnt/cdrom sudo /mnt/cdrom/VBoxLinuxAdditions.run
Windows 虚拟机直接双击光驱里的安装程序。
共享文件夹设置对不对
虚拟机设置里找到“共享文件夹”,添加固定分配,名称记作 share,不要用中文和空格,自动挂载可勾选,但 Linux 有时仍需手动挂。
Linux 手动挂载命令
sudo mkdir -p /mnt/share sudo mount -t vboxsf share /mnt/share sudo usermod -aG vboxsf $USER
执行后重新登录,普通用户才有权限写入。
路径、权限、SELinux
主机路径别放桌面深处,也别用中文目录,Windows 主机要确认共享文件夹的 NTFS 权限,Linux 主机注意 SELinux 和防火墙,多数情况下,重启虚拟机后共享就会正常出现。
Windows主机和Linux虚拟机文件共享哪个方案快?SMB、NFS、virtiofs 对比
协议选择看主机系统
- Windows 主机优先 SMB/CIFS,系统自带,权限清楚。
- Linux 主机之间优先 NFS,挂载简单,性能稳定。
- KVM/QEMU 虚机优先 virtiofs,比 9p 更适合大文件。
- VMware、VirtualBox 自带共享文件夹胜在方便,不适合高并发。
Linux 虚拟机挂载 Windows 共享
sudo apt install cifs-utils sudo mkdir -p /mnt/win-share sudo mount -t cifs //192.168.1.20/vm-share /mnt/win-share -o username=user,password=pass,uid=$(id -u),gid=$(id -g)
更安全的做法是创建凭据文件:
sudo nano /etc/smbcredentials # 写入 username=user # 写入 password=pass sudo chmod 600 /etc/smbcredentials

/etc/fstab 写:
//192.168.1.20/vm-share /mnt/win-share cifs credentials=/etc/smbcredentials,uid=1000,gid=1000 0 0
行业共识认为,跨系统共享优先 SMB 或 NFS,比宿主机专用共享文件夹更通用。
北京虚拟机文件共享配置教程:Windows 主机挂载到 Ubuntu
以北京地区中小企业常见办公网为例:主机 Windows 11,虚拟机 Ubuntu,网络模式选桥接,这样主机和虚拟机在同一网段,互相访问最直接。
主机侧共享
- 新建
D:vm-share。 - 右键属性,进入“共享”页。
- 点“高级共享”,勾选“共享此文件夹”。
- 权限里给相应用户读或读写。
- 查主机 IP:
ipconfig,假设168.1.20。
虚拟机侧挂载
sudo apt update sudo apt install cifs-utils sudo mkdir -p /mnt/share sudo mount -t cifs //192.168.1.20/vm-share /mnt/share -o username=user,password=pass
如果虚拟机用 NAT,主机 IP 不一定是 168.1.20,VirtualBox NAT 下访问主机常用 0.2.2,VMware NAT 下常用 VMnet8 网关地址,桥接模式更省心。
自动挂载与安全
把挂载写进 /etc/fstab 前,先用 mount -a 测试,不要图省事给 777,只读共享加 ro,需要写入再加 rw,主机防火墙放行文件和打印机共享。
Hyper-V虚拟机访问主机文件设置步骤
增强会话模式
Hyper-V 没有 VMware 那种原生共享文件夹,增强会话模式可以支持剪贴板、驱动器重定向和部分复制粘贴,在 Hyper-V 管理器里开启“增强会话模式策略”,虚拟机内安装集成服务。
SMB 共享与 Copy-VMFile
最通用的方式仍是 SMB:
net use Z: \主机IPvm-share
Linux 虚拟机同样用 cifs-utils 挂载,PowerShell 还可以用:
Copy-VMFile -Name "Ubuntu-VM" -SourcePath "C:file.zip" -DestinationPath "/home/user/file.zip" -CreateFullPath -FileSource Host
据微软 Hyper-V 文档,Copy-VMFile 需要集成服务和相应权限,日常大量文件共享,SMB 更稳。
KVM/QEMU 进阶:virtiofs 与 9p
virtiofs 配置
主机共享目录

/host/share,虚拟机 XML 加入:
<filesystem type='mount' accessmode='passthrough'> <source dir='/host/share'/> <target dir='hostshare'/> </filesystem>
虚拟机内挂载:
sudo mkdir -p /mnt/share sudo mount -t virtiofs hostshare /mnt/share
9p 配置
sudo mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt/share
大文件和高并发场景,virtiofs 通常比 9p 更合适,老内核或老工具链仍可能用 9p。
虚拟机共享文件夹收费吗?权限与安全清单
价格与授权
VirtualBox 免费,Windows SMB、Linux NFS 系统自带,VMware Workstation Pro、Fusion Pro 属于商业授权,是否购买看使用场景,企业级 NAS、vSAN、存储阵列按硬件和授权计费,简单问“虚拟机共享文件夹收费吗”,多数个人方案不额外收费,宿主软件授权另算。
避坑清单
- 主机路径不要用中文、空格、特殊符号。
- 共享名用英文,别频繁改名。
- Linux 虚拟机把用户加入
vboxsf或使用uid/gid。 - SMB 凭据文件权限设为
600。 - 防火墙只放行内网网段。
- 不需要写入时挂载为只读。
- 快照前确认共享盘不参与关键数据库写入。
- 生产环境优先 NFS、SMB、virtiofs,少依赖临时共享文件夹。
Q&A:虚拟机如何访问主机文件常见问题
虚拟机如何访问主机文件?必须装 VMware Tools 吗?
VMware 共享文件夹需要 VMware Tools 或 open-vm-tools,SMB、NFS 不需要 VMware Tools,但需要网络连通和客户端软件,Hyper-V 的复制功能需要集成服务。
VirtualBox共享文件夹不显示怎么办?
先确认增强功能已安装,再查共享名是否一致,Linux 执行 sudo mount -t vboxsf share /mnt/share,把用户加入 vboxsf 组,主机路径含中文、权限不足、SELinux 拦截,都会导致不显示。
虚拟机共享文件夹收费吗?多数免费方案够用
VirtualBox、SMB、NFS、virtiofs 都不额外收费,VMware Workstation Pro 等商业版本需要授权,企业存储和虚拟化平台按合同计费,对个人开发测试,系统自带共享加一条挂载命令,通常就是成本最低的路径。