把文件移到虚拟机,核心就一句话:先装好对应虚拟机软件的增强工具,小文件直接拖拽,大文件或频繁传输用共享文件夹,跨系统用网络工具最省心。
虚拟机怎么和主机互传文件?先看你的虚拟机软件
不同虚拟机软件的文件传输逻辑不一样,有人用VMware Workstation,有人用VirtualBox,还有人用Windows自带的Hyper-V,把自己用的软件先对上号,后面步骤才有意义。
- VMware Workstation / Player:装VMware Tools,支持拖拽、复制粘贴、共享文件夹。
- VirtualBox:装增强功能(Guest Additions),支持共享文件夹、拖拽、剪贴板。
- Hyper-V:用增强会话模式(Enhanced Session),支持本地资源重定向。
- 云服务器虚拟机:一般没有图形界面拖拽,用scp、WinSCP、SFTP等网络工具。
VMware文件传输方法:拖拽、共享文件夹、剪贴板
VMware是使用人数较多的虚拟机软件,文件传输方法主要有三种。
直接拖拽文件(适合少量小文件)
前提是虚拟机里已经安装了VMware Tools,没装的话,拖拽传文件会失败,这是最常见的原因。
操作路径:
- 打开虚拟机,确认VMware Tools状态为“已安装且正在运行”。
- 在虚拟机设置里,进入“选项” -> “客户机隔离”,勾选“启用拖放”和“启用复制粘贴”。
- 从宿主机桌面选中文件,直接拖进虚拟机窗口。
- 反向操作一样,从虚拟机拖回宿主机。
拖拽方式适合传几个文档、图片或小压缩包,大文件拖拽容易中断,且速度不理想。
共享文件夹(适合频繁或大文件传输)
共享文件夹是VMware文件传输方法里最稳定的一种,设置好后,虚拟机会多出一个网络驱动器,宿主机和虚拟机都能访问同一目录。
设置步骤:
- 关闭虚拟机或保持运行都可以,建议先关闭。
- 进入虚拟机设置 -> “选项” -> “共享文件夹”。
- 选择“总是启用”,点击“添加”,选择宿主机上要共享的文件夹。
- 给共享文件夹命名,share”。
- 启动虚拟机,在Windows虚拟机里打开“此电脑” -> “网络位置”,就能看到共享文件夹。
- 在Linux虚拟机里,手动挂载命令通常是:
sudo mkdir /mnt/sharesudo mount -t fuse.vmhgfs-fuse .host:/share /mnt/share或sudo vmhgfs-fuse .host:/share /mnt/share
共享文件夹适合需要反复读写的场景,比如代码目录、素材库,缺点是虚拟机需要安装VMware Tools,且Linux下有时需要手动挂载。
剪贴板复制粘贴
VMware Tools也支持剪贴板共享,宿主机复制文件,在虚拟机里粘贴,本质上是文件传输,文本和图片也可以直接复制粘贴。
局限:大文件或大量文件用剪贴板传输不稳定,容易卡住,只适合临时传个小文件。
VirtualBox共享文件夹设置步骤(附常见失败原因)
VirtualBox是免费开源虚拟机,很多个人用户在用,它的文件传输核心是增强功能,共享文件夹设置也不复杂。
先安装增强功能
- 启动虚拟机,在VirtualBox菜单栏点击“设备” -> “安装增强功能”。
- 虚拟机内会挂载一个光盘镜像,运行里面的安装程序。
- Windows虚拟机直接双击运行;Linux虚拟机需要先安装内核头文件和构建工具,再执行安装脚本。
- 安装完成后重启虚拟机。
添加共享文件夹
- 在VirtualBox主界面选中虚拟机,点击“设置” -> “共享文件夹”。
- 点击右侧添加按钮,选择宿主机文件夹路径。
- 共享文件夹名称自定,vboxshare”。
- 勾选“自动挂载”和“固定分配”,确认。
- 启动虚拟机,Windows里会自动出现网络驱动器;Linux里通常需要手动挂载:
sudo mkdir /mnt/vboxsharesudo mount -t vboxsf vboxshare /mnt/vboxshare
如果想开机自动挂载,可以编辑 /etc/fstab,加入一行:vboxshare /mnt/vboxshare vboxsf defaults 0 0
常见失败原因
- 增强功能没装成功,或版本与VirtualBox不匹配。
- Linux虚拟机内核升级后,增强功能需要重新编译安装。
- 共享文件夹权限不足,Linux用户需要加入
vboxsf组:sudo usermod -aG vboxsf 用户名,然后重新登录。 - 路径或共享名写错,Linux严格区分大小写。
Hyper-V文件传输:增强会话模式最省事
Windows自带Hyper-V,文件传输方式略有不同。
开启增强会话模式
- 在Hyper-V管理器里,右键虚拟机 -> “Hyper-V设置” -> “增强会话模式策略”,勾选允许。
- 连接到虚拟机时,弹出窗口选择“显示选项” -> “本地资源” -> “更多”,勾选要共享的本地驱动器。
- 连接后,宿主机磁盘会出现在虚拟机“此电脑”里,直接复制文件即可。
增强会话模式依赖远程桌面协议,仅支持Windows虚拟机,如果虚拟机是Linux,Hyper-V的文件传输会麻烦一些,建议直接用网络工具。
没有增强会话时用网络共享
如果增强会话不能开启,可以在宿主机开一个SMB共享,虚拟机通过网络访问,或者在宿主机和虚拟机之间用scp命令传输。
虚拟机拖拽文件不生效怎么办?排查三个方向
不少用户遇到“虚拟机拖拽文件不生效”的问题,别急着重装软件,按下面三个方向排查。
- 增强工具没装或没运行,VMware需要VMware Tools,VirtualBox需要增强功能,没装的话拖拽完全不可用,安装后必须重启虚拟机。
- 拖拽功能被禁用,VMware里检查“客户机隔离”选项,VirtualBox里检查“设备”菜单下的拖放设置,Hyper-V增强会话需勾选本地资源。
- 权限或文件大小限制,Linux虚拟机拖拽到某些系统目录会失败,因为权限不够,超大文件(比如几十GB)拖拽不稳定,建议换成共享文件夹。
如果拖拽仍然失效,最稳妥的替代方案就是共享文件夹,它不依赖拖拽通道,权限和稳定性都更好。
不想装任何工具:网络传输方案
有些场景不适合安装增强工具,比如临时测试、精简版虚拟机、云服务器虚拟机,网络传输是通用方案。
- SMB/Windows共享,宿主机开一个共享文件夹,虚拟机通过
\宿主机IP共享名访问,适合局域网内Windows虚拟机。 - WinSCP / FileZilla,虚拟机开启SSH服务后,宿主机用WinSCP连接,图形界面直接拖拽上传下载,适合Linux虚拟机,免费工具,操作直观。
- scp命令,如果宿主机是macOS或Linux,直接在终端用:
scp 本地文件 用户名@虚拟机IP:/远程路径- 反过来下载:
scp 用户名@虚拟机IP:/远程路径 本地路径
- Python临时HTTP服务器,在宿主机需要分享文件给虚拟机时,进入文件所在目录执行:
python3 -m http.server 8000- 虚拟机浏览器打开
http://宿主机IP:8000,直接下载文件,适合临时传单个文件,无需安装额外软件。
虚拟机文件传输速度对比:选对方法少走弯路
不同传输方法速度差别明显,下表是根据常见使用经验的对比,实际速度受宿主机配置、网络和虚拟机负载影响。
| 传输方法 | 速度表现 | 稳定性 | 适合场景 |
|---|---|---|---|
| 拖拽 | 一般,大文件慢 | 一般,易中断 | 少量小文件 |
| 共享文件夹 | 较快,接近本地磁盘 | 高 | 频繁读写、大文件 |
| 剪贴板 | 慢 | 差 | 临时文本或极小文件 |
| SMB网络共享 | 取决于网卡,通常较快 | 高 | 局域网内跨系统 |
| WinSCP/SFTP | 中等偏快 | 高 | Linux虚拟机、远程虚拟机 |
| U盘直通 | 快,但需独占设备 | 高 | 一次性大量文件 |
业内专家指出,虚拟机文件传输没有万能最优解,关键看文件大小、传输频率和虚拟机系统类型,多数情况下,共享文件夹是平衡速度和稳定性的首选。
免费虚拟机文件传输工具推荐(按场景选)
不需要花一分钱,免费方案足够日常使用。
- VMware Tools:VMware自带,免费,支持拖拽、共享文件夹、剪贴板。
- VirtualBox增强功能:免费开源,功能同上,Linux兼容性稍弱。
- WinSCP:免费SFTP客户端,Windows平台,图形界面,适合Linux虚拟机。
- FileZilla:免费FTP/SFTP客户端,跨平台,适合批量文件传输。
- LocalSend:免费局域网传输工具,无需配置,适合临时传少量文件。
行业共识认为,现阶段的虚拟机文件传输已经非常成熟,只要增强工具安装到位,传输体验和宿主机内部复制粘贴差异不大。
文件移到虚拟机,不用把简单问题复杂化。先装增强工具,再用共享文件夹,这是最稳的组合。 遇到拖拽不生效,优先检查增强工具和隔离设置。
Q&A
虚拟机怎么和主机互传文件最方便?
最方便的组合是:虚拟机里安装对应增强工具(VMware Tools或VirtualBox增强功能),然后启用共享文件夹,设置一次,后续宿主机的共享目录会直接出现在虚拟机里,日常使用和本地文件夹没区别,少量小文件可以用拖拽,但共享文件夹更稳定。
VMware文件传输方法中哪个最稳定?
共享文件夹最稳定,拖拽适合临时小文件,剪贴板适合文本图片,而共享文件夹基于磁盘映射,传输大文件或频繁读写时不容易中断,前提是VMware Tools安装正确,且共享文件夹设置为“总是启用”。
虚拟机拖拽文件不生效怎么解决?
先检查增强工具是否安装并运行,再确认虚拟机设置里拖拽功能没有被禁用,如果还不行,尝试重启虚拟机或重装增强工具,Linux虚拟机需注意权限问题,拖拽到系统目录可能失败,拖拽失效时,直接改用共享文件夹是最有效的替代方案。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/662067.html





