安装增强工具后启用共享文件夹,或用网络路径(SMB/SFTP)互传,前者适合日常拖拽,后者适合跨系统大文件传输。
很多人第一次用虚拟机,卡在第一步:怎么把Windows主机里的文件弄到Ubuntu里?或者反过来,虚拟机里下载好的安装包,怎么拷回主机?这不是复杂问题,但确实卡住了相当一部分人,下面直接把主流方案拆开讲,以VMware Workstation和VirtualBox为主,Hyper-V也附带提一句。
虚拟机 主机 共享文件夹 设置 的两种主流方式
共享文件夹是虚拟机的官方功能,也是最推荐日常使用的方案,它的原理是让虚拟机直接映射主机的一个真实目录,在虚拟机里打开文件管理器就能看到主机文件,操作体验和本地文件夹一样。
VMware Workstation 配置共享文件夹步骤
VMware的设置逻辑很直观,核心三步:设置共享目录、开启共享选项、安装VMware Tools。
- 先关掉虚拟机系统(也可以不关,但部分版本需要重启才生效),点击菜单栏的“虚拟机” > “设置”。
- 切换到“选项”选项卡,左侧选择“共享文件夹”。
- 右侧选择“总是启用”,点击“添加”按钮,浏览并选定一个主机目录,
D:VM_Share。 - 名称建议保持默认即可,启用“映射为网络驱动器”(Windows虚拟机选此项方便),Linux虚拟机不需要映射。
- 启动虚拟机,安装VMware Tools,Windows虚拟机里,VMware Tools安装包在虚拟光驱中,双击运行,一路下一步,完成后重启,Linux虚拟机中,可在VMware窗口菜单“虚拟机”>“安装VMware Tools”,然后解压tar包,运行
vmware-install.pl。 - 重启后,Windows虚拟机打开“此电脑”,能看到网络位置里的共享文件夹(映射为Z盘为例),Linux虚拟机中,共享目录通常在
/mnt/hgfs/下,文件名和主机目录名一致,如果没出现,执行sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other手动挂载一次。
行业共识是,VMware Tools是共享功能的命脉,没装之前,配置全部无效。
VirtualBox 增强功能与共享文件夹配合
VirtualBox思路完全一样,但菜单位置不同。
- 在VirtualBox管理器里选中虚拟机,点击“设置” > “共享文件夹”。
- 点击右侧的“添加文件夹”图标(带加号的蓝色文件夹),选择主机目录,勾选“自动挂载”和“固定分配”。
- 启动虚拟机,安装“增强功能”(Insert Guest Additions CD image),Windows虚拟机将自动弹出安装向导;Linux虚拟机则需要运行挂载的VBoxGuestAdditions.iso里的
runasroot.sh脚本。 - 重启之后,Linux虚拟机的共享目录自动出现在
/media/下,Windows虚拟机则映射为一个新的盘符。
行业共识认为,VirtualBox的共享文件夹在Windows主机和Linux虚拟机之间最稳定,相比VMware较少出现权限崩溃问题。
vmware 共享文件夹 不显示 的排查路径
经常看到有人装了Tools还是看不到共享目录,问到“vmware 共享文件夹 不显示怎么办”,这种情况绝大多数是三个环节出了问题,按照这个顺序排查,超过一半的情况能直接解决。
排查点一:确认Tools是否真正生效
任务栏右下角有没有VMware的图标?Windows虚拟机里,托盘区出现灰色方块图标说明Tools还在装,出现VMware标识才表示完整运行,Linux虚拟机中,用 vmware-toolbox-cmd -v 命令查看版本号,没有输出就是没装好,重装一次选择“修复”模式。
排查点二:文件夹权限正确性
共享目录的访问权限在主机的Windows上受NTFS权限限制,右键主机共享文件夹,选择“属性” > “共享” > “高级共享”,确认“共享此文件夹”被勾选,权限”里给“Everyone”或当前用户“完全控制”,很多情况下客户机系统看不到内容,但能发现共享目录,就是因为权限没开。
排查点三:挂载位置是否默认隐藏
Windows虚拟机的共享文件夹若映射为网络驱动器,首次需要在“此电脑”空白处右键选择“映射网络驱动器”,手动输入 \vmware-hostShared Folders你的共享名,Linux虚拟机挂在 /mnt/hgfs 下没错,但较新版本内核的Ubuntu需要手动安装 open-vm-tools-desktop 包,运行 sudo apt install open-vm-tools-desktop,重启后才自动挂载。
虚拟机与主机 文件共享 的替代方案对比
除了官方共享文件夹,还有几种方式在不同场景下更好用。
| 传输方式 | 适用场景 | 传输大文件速度 | 操作难度 | 依赖条件 |
|---|---|---|---|---|
| 共享文件夹 | 日常编辑文档、代码同步 |
快 | 低 | 需要安装增强工具 |
| SMB/Samba网络共享 | Windows与Linux互传大文件 | 快 | 中 | 同一局域网或使用NAT网络 |
| SSH/SFTP | Linux虚拟机为主、无图形界面 | 中 | 中 | 虚拟机开SSH服务,主机用WinSCP |
| 拖拽复制 | 偶尔传几个小文件 | 慢 | 最低 | 同样依赖增强工具 |
拖拽复制功能在什么时候最实用
VMware和VirtualBox都支持从主机直接拖文件到虚拟机窗口,这个功能传小文件(小于几百MB)体验不错,传大文件时进度条容易卡死,而且挂起或暂停虚拟机时,拖拽复制经常失效,它的底层还是走共享文件夹的通道,所以只要共享文件夹是好用的,拖拽自然也好用。
无图形界面的Linux服务器用SFTP最稳妥
如果你用的是CentOS Stream或Ubuntu Server这类无桌面环境,共享文件夹不是不能用,但配置起来更麻烦(需要手动挂载vmhgfs-fuse),此时直接在虚拟机里开启SSH服务,主机上用WinSCP(Windows)或scp命令(Linux/macOS)传输文件更符合运维习惯。
主机 虚拟机 互相访问 网络设置要点
这也是一个高频搜索方向:“主机和虚拟机怎么互相ping通”,它和文件共享有关联如果虚拟机用NAT模式上网,主机默认可以访问虚拟机,但虚拟机访问主机有特殊情况。
端口转发规则的最简配置
VMware和VirtualBox的NAT模式默认不允许虚拟机访问主机的某些服务(如IIS、MySQL),需要手动添加端口转发规则:
- VirtualBox:设置 > 网络 > 高级 > 端口转发,添加一条规则,名称ssh、协议TCP、主机IP127.0.0.1、主机端口2222、子系统端口22”。
- VMware:编辑 > 虚拟网络编辑器,选择VMnet8(NAT模式),点击“NAT设置”,在此添加入站规则,转发到虚拟机IP的22端口。
配置完成后,主机用 ssh root@127.0.0.1 -p 2222 即可连入虚拟机,SFTP也自然通了。
桥接模式与仅主机模式的区别
需要虚拟机被局域网内其他设备访问时,桥接模式是首选。桥接模式让虚拟机直接占用局域网一个独立IP,和主机地位平等,仅主机模式只能主机和虚拟机互访,外网完全不可见,适合做隔离测试。
虚拟机 主机 共享剪贴板 能不能双向用
问“为什么我虚拟机里复制的内容主机粘贴不了”的人不在少数,这是“共享剪贴板”功能,不是文件共享,但两者经常被混淆,VMware里开启方法:虚拟机 > 设置 > 选项 > 客户机隔离,勾选“启用复制粘贴”,VirtualBox里:设置 > 常规 > 高级 > 共享剪贴板,选择“双向”。
如果勾选后无效,多半是Tools没装好。共享剪贴板依赖增强工具的后台服务,Windows虚拟机右键任务管理器查看服务里是否有 VMware Tools 或 VirtualBox Guest Additions Service 在运行,没运行就手动启动。
与虚拟机 主机 共享 相关的常见Q&A
共享文件夹在虚拟机里是只读状态怎么办
只读通常是权限位不对,检查两个层面:第一,主机共享目录的NTFS权限是否给了当前用户“修改”权限;第二,Linux虚拟机的挂载点是否带只读标志,执行 mount | grep hgfs 查看挂载参数,如果出现ro字段,用 sudo mount -o remount,rw /mnt/hgfs 重新挂载,VirtualBox中则需要确认“共享文件夹”设置里没勾选“只读分配”。
VMware和VirtualBox哪个共享文件更稳定
从实际体验和社区反馈来看,VMware在Windows主机上表现更稳定,VirtualBox在Linux主机上配合更好,VMware的客户机隔离做得更丰富,VirtualBox的优势是开源免费且轻量,如果你只在一台Windows电脑上使用,VMware Workstation Player(免费版)就够了,如果需要在Linux主机上跑Windows虚拟机,VirtualBox相对更省心。
为什么虚拟机的共享文件夹在重启后消失了
共享文件夹是“配置项”,不是“数据本身”,检查两点:虚拟机设置里的“共享文件夹”是否还在,增强工具是否开机自启,Linux虚拟机中,/etc/fstab 没有写入挂载项的话,重启需要手动挂载,因此在里面加一行 vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other 0 0 可解决。
回到最开始的问题:虚拟机 主机 共享这件事,核心逻辑不复杂安装对应虚拟化软件的增强工具,然后把目录交给它管理,VMware用hgfs,VirtualBox用vboxsf,Hyper-V用增强会话模式或SMB,永远记住一个硬道理:共享文件夹只是“核酸检测”,网络互访才是“开源节流”。 学会SFTP那套操作,未来管理云服务器也用得上。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/654299.html





