vm虚拟机与windows主机之间相互拷贝
VMware里跑着Linux,虚拟相互Windows宿主机上堆着文档,主机之间两边文件来回倒腾是拷贝日常操作。方法不少,虚拟相互但坑也多——拖拽失效、主机之间共享文件夹权限报错、拷贝剪贴板失灵,虚拟相互每个问题都能让人卡上半小时。主机之间直接说结论:共享文件夹最稳,拷贝拖拽最方便但看版本脸色,虚拟相互网络传输适合大文件。主机之间
先讲最常用的拷贝拖拽。VMware Tools装好之后,虚拟相互理论上从Windows桌面拖个文件进虚拟机窗口就行。主机之间但实际用起来,拷贝经常遇到拖到一半光标变禁止符号,或者拖进去文件大小变成0KB。我自己的经验是,VMware Workstation 16以上版本对拖拽支持好很多,但如果你用的是Player免费版,或者虚拟机里装的是精简版Linux,拖拽功能大概率是残废的。这时候别死磕,换个法子。
共享文件夹是VMware的正经解决方案。虚拟机设置里添加一个宿主机目录,比如Windows的D盘某个文件夹,然后在虚拟机里挂载到/mnt/hgfs。Linux下要装open-vm-tools-desktop包,Windows虚拟机则要装完整版VMware Tools。有个细节容易忽略:挂载后如果看不到共享目录,多半是权限问题——宿主机文件夹的NTFS权限和虚拟机里的用户权限对不上,手动chmod 777能解决大部分问题。但这种方式有个硬伤,虚拟机里改文件会直接改动宿主机文件,万一改坏了,宿主机上的原文件也跟着遭殃。我一般只放临时交换文件,重要数据不敢这么玩。
如果你要拷贝的是几个G的数据库备份或者镜像文件,共享文件夹的速度会让人抓狂——走的是虚拟化层的文件系统桥接,磁盘IO开销大。这时候直接开FTP或者HTTP服务更快。Windows宿主机上开个HFS或者Python的http.server,虚拟机里用wget拉,速度能跑满千兆网卡。反过来,虚拟机里开FTP,Windows用FileZilla去下,一样快。这招还有个好处,不依赖VMware Tools,哪怕虚拟机系统坏了,只要网络通就能传文件。我遇到过虚拟机内核崩溃进不去桌面,就是用这个办法把重要配置抢救出来的。
剪贴板共享是另一个常用手段,但坑最多。文本复制粘贴一般没问题,图片经常粘贴出来是黑块,大文件直接卡死。这功能依赖VMware Tools的图形组件,如果虚拟机里跑的是Wayland会话或者Windows Server系统,经常不生效。我的建议是别指望它传文件,只用来传短文本命令——比如从Windows复制一段SSH密钥到虚拟机里,这种场景它够用。
最后说个冷门的:直接改虚拟磁盘文件。把.vmdk挂载到宿主机上,用DiskGenius或者7-Zip解包,Windows能直接读取Linux分区内容。这招适合虚拟机彻底打不开的紧急情况,但操作有风险,搞不好整个虚拟磁盘损坏。我试过一次,虚拟机里跑着数据库,强制挂载导致文件系统日志错乱,恢复数据花了半天。非必要别用。
日常使用,我自己的组合是:小文件(几MB以内)用拖拽,中文件(几百MB)走共享文件夹,大文件(几个G)开HTTP服务。剪贴板只用来传文本。这套流程用了三年,基本没出过岔子。你要是遇到拖拽没反应,先检查VMware Tools版本,再确认虚拟机设置里启用了拖拽功能——这俩地方是最容易出问题的。另外,宿主机和虚拟机的防火墙都别开太严,尤其Windows Defender的“受控文件夹访问”功能,有时候会悄悄拦截共享文件夹的写入操作,排查半天找不到原因。
(责任编辑:休闲)














