mac向虚拟机传文件需按虚拟机类型选择方案:parallels支持拖放(需先装tools,大文件须等光标变绿+号);共享文件夹需关机配置并注意linux内核升级后重装工具;sftp则依赖ssh服务,支持单文件、目录(-r)及一键直传。

Mac把文件拷贝到虚拟机里,不是靠“复制粘贴”就能解决的——不同虚拟机软件、不同客户机系统(Windows/Linux/UOS等),可用路径完全不同。拖不进去、共享文件夹点不开、SCP报错 Permission denied,这些卡点背后其实是权限、工具链、网络配置三重门槛。
用拖放功能直接传(仅限Parallels Desktop)
这一步操作起来很简单,直接把Mac上的文件拖进正在运行的Windows或Linux虚拟机窗口就行。
前提是必须已安装Parallels Tools:未安装时拖放图标呈灰色,拖入后文件不会落地,甚至可能触发虚拟机无响应。
拖放功能默认只对小型文件友好,比如PDF、TXT、单张PNG;传输超50MB的压缩包时,界面会卡住3秒以上,此时松手即失败,【必须等光标变成绿色+号再松手】。
通过共享文件夹双向同步(Parallels / VMware Fusion通用)
适合频繁交换大量文件、需要版本自动对齐的场景,比如开发时同步代码目录、设计稿协作。
第一步:关闭虚拟机(⚠️运行中修改共享设置会导致hgfs挂载失效,重启后仍需手动修复)
第二步:打开虚拟机设置 → 进入「选项」→「共享」→「管理文件夹」
第三步:点击「+」添加Mac本地文件夹(例如/Users/yourname/Documents/project),勾选「启用此共享」并设为「读写」
第四步:启动虚拟机,在Windows中访问Z:\盘,或在Linux中执行cd /mnt/hgfs进入共享根目录
注意:Linux客户机每次内核升级后,【必须重装open-vm-tools或parallels-tools】,否则/mnt/hgfs为空且不可写。
用SFTP命令行传(适用于所有支持SSH的虚拟机)
不需要额外工具,只要虚拟机开了SSH服务,Mac终端一条命令就能推整个文件夹过去。
方法一:上传单个文件
在Mac终端执行:sftp username@192.168.x.x → 输入密码 → 进入交互界面后输入:put ~/Desktop/report.pdf /home/username/
方法二:上传整个文件夹(必须加 -r 参数)
put -r ~/Projects/app /var/www/html
方法三:跳过交互,一行直传(推荐)
sftp -P 22 username@192.168.x.x
关键点:IP地址必须是虚拟机真实局域网IP(不是127.0.0.1),Ubuntu/CentOS默认关闭SSH,需先运行sudo systemctl enable --now ssh。
用U盘中转(零依赖,但要拔插两次)
当虚拟机没装增强工具、SSH又连不上时,这是唯一能打通的物理通道。
先把U盘插入Mac → Finder里右键U盘 →「忽略此设备」→ 拔出再插入 → 弹窗选择「连接到Windows虚拟机」
若弹窗不出现,打开Parallels Desktop菜单栏 → 设备 → USB → 手动勾选你的U盘
在Windows虚拟机里打开U盘 → 复制文件 → 完事后再切回Mac,右键U盘「弹出」,拔走
⚠️U盘格式必须是exFAT,NTFS在Mac上只能读不能写,FAT32不支持4GB以上单文件











