UTM虚拟机文件共享需完成宿主机权限配置、UTM图形界面启用共享(勾选“始终启用”并设“可写”)、Linux虚拟机挂载时指定uid/gid参数或Windows启用SMB共享三步闭环,缺一不可。
utm 虚拟机文件系统共享权限配置,核心在于“宿主机设置 + 虚拟机挂载 + 权限匹配”三步闭环。多数失败不是功能没开,而是权限链断在某一处——比如宿主机目录权限不足、虚拟机挂载时未指定可写、或用户组未加入相应权限组。
宿主机共享目录的权限准备
UTM 本身不接管文件系统权限,它只是把宿主机目录“透传”给虚拟机。因此第一步必须确保 macOS 上该目录对当前用户可读写:
- 推荐路径用英文、无空格、非 iCloud 或同步盘路径(如 /Users/yourname/UTM-Share);
- 右键该文件夹 → “显示简介” → 拉到底部“共享与权限”,点击右下角锁图标解锁;
- 确认你的用户名权限为“读与写”,若没有则点击“+”添加,再设为读写;
- 勾选“应用到所有子项目”,避免内部文件继承旧权限。
UTM 图形界面启用共享并设访问模式
这一步决定虚拟机能否看到目录、以及能做什么操作:
- 选中虚拟机 → 右键“设置” → 切换到“设备”选项卡 → 找到“共享文件夹”模块;
- 点击“添加”,选择刚才准备好的宿主机目录;
- 务必勾选“始终启用”,否则重启后失效;
- 关键:根据用途选择“只读”或“可写”。若需往里存文件、解压、编辑,必须选“可写”;
- 保存设置,关闭窗口——此时 UTM 已将该目录注册为 virtio-fs 或 9p 类型共享设备。
Linux 虚拟机挂载时指定权限参数
即使宿主机和 UTM 都设好了,Ubuntu/Debian/CentOS 等无桌面 Server 版默认不会自动挂载,且挂载点权限需显式声明:
- 创建挂载点:sudo mkdir -p /mnt/utm-share;
- 临时挂载(测试用):sudo mount -t virtiofs share /mnt/utm-share -o rw,uid=1000,gid=1000(其中 uid/gid 替换为你虚拟机内普通用户的 ID,可用 id -u 和 id -g 查);
- 永久生效:编辑 /etc/fstab,追加一行:
share /mnt/utm-share virtiofs rw,nofail,uid=1000,gid=1000 0 0; - 验证:ls -l /mnt/utm-share 应显示属主为你用户,且有读写标志(drwxr-xr-x 或更宽松)。
Windows 虚拟机需额外启用 SMB 共享服务
UTM 原生共享对 Windows 支持有限,多数情况需走 SMB 协议反向打通:
- 在 Windows 虚拟机中:打开“控制面板 → 网络和 Internet → 网络和共享中心 → 更改高级共享设置”;
- 启用“网络发现”和“文件和打印机共享”,关闭“密码保护的共享”(或确保 Mac 用户密码已设);
- 右键要共享的文件夹 → “属性 → 共享 → 高级共享 → 勾选‘共享此文件夹’→ 权限中添加“Everyone”,设为“更改”;
- 在 Mac 上:访达 → 前往 → 连接服务器 → 输入 smb://[Windows虚拟机IP](IP 可在 Win 中 cmd 执行 ipconfig 查);
- 登录时用 Windows 虚拟机的本地账户名和密码,成功后即可双向拖拽文件。

















